CookieParameter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将客户端 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
- 继承
示例
下面的代码示例演示如何使用 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) |
使用 |
| CookieParameter(String, DbType, String) |
初始化 CookieParameter 类的新实例,该实例具有指定的名称和数据库类型,并且绑定到指定的 HTTP Cookie。 |
| CookieParameter(String, String) |
初始化 CookieParameter 类的新命名实例,其中使用指定字符串标识要绑定到的 HTTP Cookie。 |
| CookieParameter(String, TypeCode, String) |
初始化 CookieParameter 类的一个新的命名强类型实例,其中使用指定字符串标识要绑定到的 HTTP Cookie。 |
属性
| ConvertEmptyStringToNull |
获取或设置一个值,该值指示在 Parameter 对象绑定到的值为 Empty 时是否应将其转换为 |
| 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) |