|
读取 Cookie 集合 前面的示例假设您要读取名称已知的 Cookie。有时,您可能需要读取可供页面使用的所有 Cookie。要读取可供页面使用的所有 Cookie 的名称和值,您可以利用如下代码遍历 Request.Cookies 集合: Dim i As Integer Dim output As String = "" Dim aCookie As HttpCookie For i = 0 to Request.Cookies.Count - 1 aCookie = Request.Cookies(i) output &= "Cookie 名称 = " & Server.HtmlEncode(aCookie.Name) & "<br>" output &= "Cookie 值 = " & Server.HtmlEncode(aCookie.Value) & _ & "<br><br>" Next Label1.Text = output 注意:运行此代码时,您很可能会看到一个名为“ASP.NET_SessionId”的Cookie,ASP.NET 用这个 Cookie 来保存您的会话的唯一标识符。这个会话 Cookie 不会永久保存到您的硬盘上。有关会话 Cookie 的详细信息,请参阅本文后面的 Cookie 和会话状态。 前面的示例有一个限制:如果 Cookie 有子键,就会以一个单独的名称/值字符串来显示子键。Cookie 的 HasKeys(英文)属性可以告诉您该 Cookie 是否有子键。如果有子键,您可以在子键集合中向下钻取,获取各个子键的名称和值。 如前文所述,您可以从 Cookie 属性 Values(英文)中获取有关子键的信息,该属性是类型 NameValueCollection 的集合。您可以根据索引值从 Values 集合中直接读取子键值。相应的子键值可以从 Values 集合的成员 AllKeys(英文)中得到,该成员将返回一个字符串集合。 以下示例是对前一示例的修改。示例中使用 HasKeys 属性来测试子键,如果检测到子键,就从 Values 集合中获取子键: Dim i As Integer Dim j As Integer Dim output As String = "" Dim aCookie As HttpCookie Dim subkeyName As String Dim subkeyValue As String For i = 0 To Request.Cookies.Count - 1 aCookie = Request.Cookies(i) output &= "名称 = " & aCookie.Name & "<br>" If aCookie.HasKeys Then For j = 0 To aCookie.Values.Count - 1 subkeyName = Server.HtmlEncode(aCookie.Values.AllKeys(j)) &n[1] [2] [3] 下一页 |
|
|
|
|
|
|
|