CookieParameter 类

定义

将客户端 HTTP Cookie 的值绑定到参数对象。 该参数可以在参数化的查询或命令中使用,以选择、筛选或更新数据。

public ref class CookieParameter : System::Web::UI::WebControls::Parameter
public class CookieParameter : System.Web.UI.WebControls.Parameter
type CookieParameter = class
    inherit Parameter
Public Class CookieParameter
Inherits Parameter
继承
CookieParameter

示例

下面的代码示例演示如何使用 SqlDataSource 绑定到 HTTP Cookie 的控件和 CookieParameter 对象在控件中 GridView 显示来自 Northwind Traders 数据库的数据。

<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

void Page_Load(Object sender, EventArgs e){
  // These cookies might be added by a login form.
  // They are added here for simplicity.
  if (!IsPostBack) {
      Response.Cookies.Add(new HttpCookie("lname",    "davolio"));
      Response.Cookies.Add(new HttpCookie("loginname","ndavolio"));
      Response.Cookies.Add(new HttpCookie("lastvisit", DateTime.Now.ToString()));
  }
}


</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataSet"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand = "SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate 
                           FROM Orders WHERE EmployeeID = 
                           (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
          <SelectParameters>
            <asp:CookieParameter Name="lastname" CookieName="lname" />
          </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AllowSorting="True"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

Sub Page_Load(sender As Object, e As EventArgs)
  ' These cookies might be added by a login form.
  ' They are added here for simplicity.
  If (Not IsPostBack) Then
      Dim cookie As HttpCookie

      cookie = New HttpCookie("lname","davolio")
      Response.Cookies.Add(cookie)

      cookie = New HttpCookie("loginname","ndavolio")
      Response.Cookies.Add(cookie)

      cookie = New HttpCookie("lastvisit", DateTime.Now.ToString())
      Response.Cookies.Add(cookie)
  End If
End Sub ' Page_Load
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataSet"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand = "SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate 
                           FROM Orders WHERE EmployeeID = 
                           (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
          <SelectParameters>                 
            <asp:CookieParameter Name="lastname" CookieName="lname" />
          </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AllowSorting="True"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>

注解

可以使用 CookieParameter 类将作为 HTTP 请求的一部分传递的客户端 HTTP Cookie 的值绑定到 ASP.NET 数据源控件使用的参数。

CookieParameter 提供 CookieName 属性,该属性标识要绑定到的对象 HttpCookie 的名称,以及从 类继承的对象 Parameter 的名称。 每次调用 方法时,类 CookieParameter 都会尝试绑定到命名的 Evaluate Cookie。

重要

如果 CookieParameter 指定对象,则将数据绑定到 参数的控件可能会引发异常,但不会随 HTTP 请求一起传递相应的 Cookie。 同样,如果使用 传递 nullCookie,则它们可能不显示任何数据。 DefaultValue设置 属性可避免在适当情况下出现这些情况。

构造函数

CookieParameter()

初始化 CookieParameter 类的未命名新实例。

CookieParameter(CookieParameter)

使用 original 参数指定的实例的值初始化 CookieParameter 类的新实例。

CookieParameter(String, DbType, String)

初始化 CookieParameter 类的新实例,该实例具有指定的名称和数据库类型,并且绑定到指定的 HTTP Cookie。

CookieParameter(String, String)

初始化 CookieParameter 类的新命名实例,其中使用指定字符串标识要绑定到的 HTTP Cookie。

CookieParameter(String, TypeCode, String)

初始化 CookieParameter 类的一个新的命名强类型实例,其中使用指定字符串标识要绑定到的 HTTP Cookie。

属性

ConvertEmptyStringToNull

获取或设置一个值,该值指示在 Parameter 对象绑定到的值为 Empty 时是否应将其转换为 null

(继承自 Parameter)
CookieName

获取或设置参数绑定到的 HTTP Cookie 的名称。

DbType

获取或设置参数的数据库类型。

(继承自 Parameter)
DefaultValue

指定参数的默认值(如果调用 Evaluate(HttpContext, Control) 方法时参数绑定到的值未被初始化)。

(继承自 Parameter)
Direction

指示 Parameter 对象是否用于将值绑定到控件,或者是否可以使用控件更改值。

(继承自 Parameter)
IsTrackingViewState

获取一个值,该值指示 Parameter 对象是否保存对其视图状态的更改。

(继承自 Parameter)
Name

获取或设置参数的名称。

(继承自 Parameter)
Size

获取或设置参数的大小。

(继承自 Parameter)
Type

获取或设置参数的类型。

(继承自 Parameter)
ValidateInput

获取或设置指定是否验证参数值的值。

ViewState

获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原 Parameter 对象的视图状态。

(继承自 Parameter)

方法

Clone()

返回当前 CookieParameter 实例的副本。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Evaluate(HttpContext, Control)

更新并返回 CookieParameter 对象的值。

GetDatabaseType()

获取与当前 DbType 实例的 CLR 类型等效的 Parameter 值。

(继承自 Parameter)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
LoadViewState(Object)

将数据源视图还原为保存过的前一视图状态。

(继承自 Parameter)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnParameterChanged()

调用包含 OnParametersChanged(EventArgs) 对象的 ParameterCollection 集合的 Parameter 方法。

(继承自 Parameter)
SaveViewState()

自页回发到服务器开始,将更改保存到 Parameter 对象的视图状态。

(继承自 Parameter)
SetDirty()

标记 Parameter 对象,以便在视图状态中记录其状态。

(继承自 Parameter)
ToString()

将此实例的值转换为其等效的字符串表示形式。

(继承自 Parameter)
TrackViewState()

使 Parameter 对象跟踪其视图状态更改,以便这些更改可以存储在控件的 ViewState 对象中并在同一页面的不同请求间保留。

(继承自 Parameter)

显式接口实现

ICloneable.Clone()

返回当前 Parameter 实例的副本。

(继承自 Parameter)
IStateManager.IsTrackingViewState

获取一个值,该值指示 Parameter 对象是否保存对其视图状态的更改。

(继承自 Parameter)
IStateManager.LoadViewState(Object)

将数据源视图还原为保存过的前一视图状态。

(继承自 Parameter)
IStateManager.SaveViewState()

自页回发到服务器开始,将更改保存到 Parameter 对象的视图状态。

(继承自 Parameter)
IStateManager.TrackViewState()

使 Parameter 对象跟踪其视图状态更改,以便这些更改可以存储在控件的 ViewState 对象中并在同一页面的不同请求间保留。

(继承自 Parameter)

适用于

另请参阅