CookieParameter.CookieName 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置参数绑定到的 HTTP Cookie 的名称。
public:
property System::String ^ CookieName { System::String ^ get(); void set(System::String ^ value); };
public string CookieName { get; set; }
member this.CookieName : string with get, set
Public Property CookieName As String
属性值
一个字符串,该字符串标识参数绑定到的客户端 HTTP Cookie。
示例
下面的代码示例演示如何以声明方式使用 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 对象、设置其属性并将其添加到 SqlDataSource 控件的 SelectParameters 集合。
public partial class cookieparam2cs_aspx : System.Web.UI.Page
{
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()));
// You can add a CookieParameter to the SqlDataSource control's
// SelectParameters collection programmatically.
CookieParameter cookieParam = new CookieParameter();
cookieParam.Name = "lastname";
cookieParam.Type = TypeCode.String;
cookieParam.CookieName = "lname";
SqlDataSource1.SelectParameters.Add(cookieParam);
}
}
}
Partial Class cookieparam2vb_aspx
Inherits System.Web.UI.Page
Sub Page_Load(ByVal sender As Object, ByVal 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)
' You can add a CookieParameter to the SqlDataSource control's
' SelectParameters collection programmatically.
Dim cookieParam As New CookieParameter()
cookieParam.Name = "lastname"
cookieParam.Type = TypeCode.String
cookieParam.CookieName = "lname"
SqlDataSource1.SelectParameters.Add(cookieParam)
End If
End Sub
End Class
注解
该 CookieName 属性标识 HTTP Cookie,该 Cookie 由对象 HttpCookie 表示,并且可通过当前 HttpRequest 对象获取。 如果 HTTP Cookie 在当前 HttpRequest 对象中不可用,则 Evaluate 该方法将参数绑定到属性的值 DefaultValue (如果已设置)。 DefaultValue如果未设置该属性,该方法Evaluate将无法将参数绑定到值。