asp中cookie的使用

商帝国咨询头像

阅读 6620 | 分类:文章

REQUEST中使用COOKIES
 Cookies 集合
 Cookies 集合允许用户检索在 HTTP 请求中发送的 cookie 的值
 
 语法
 Request.Cookies(cookie)[(key)|HasKeys]
 
 参数
 cookie
 指定要检索其值的 cookie
 key
 可选参数,用于从 cookie 字典中检索子关键字的值
 注释
 可以通过包含一个 key 值来访问 cookie 字典的子关键字。如果访问 cookie 字典时未指定 key,则所有关键字都会作为单个查询字符串返回。例如,如果 MyCookie有两个关键字, First 和 Second ,而在调用 Request.Cookies时并未指定其中任何一个关键字,那么将返回下列字符串。
 
 First=firstkeyvalue&Second=secondkeyvalue
 如果客户端浏览器发送了两个同名的 cookie,那么 Request.Cookie 将返回其中路径结构较深的一个。例如,如果有两个同名的的 cookie,但其中一个的路径属性为 /www/ 而另一个为 /www/home/,客户端浏览器同时将两个 cookie 都发送到 /www/home/ 目录中,那么 Request.Cookie 将只返回第二个 cookie。
 
 要确定某个 cookie 是不是 cookie 字典(cookie 有否有关键字),可使用下列脚本。
 
 <%= Request.Cookies("myCookie").HasKeys %>
 如果 myCookie 是一个 cookie 字典,则前面的赋值为 TRUE。否则,为 FALSE。
 
 可以通过循环遍历 Cookies 集合中的所有 cookie 或 cookie 中的所有关键字。但是,通过关键字在没有关键字的 cookie 上遍历将不产生任何输出。使用 HasKeys 语法先检查一下 cookie 是否有关键字,可以避免这种情况。下面的例子对此进行演示。
 
 <%
 'Print out the entire cookie collection.
 For Each cookie in Request.Cookies
  If Not cookie.HasKeys Then
  'Print out the cookie string
 %>
  <%= cookie %> = <%= Request.Cookies(cookie)%>
 <%
 Else
  'Print out the cookie collection
  For Each key in Request.Cookies(cookie)
 %>
  <%= cookie %> (<%= key %>) = <%= Request.Cookies(cookie)(key)%>
 <%
  Next
 End If
 Next
 %>
 示例
 下面的例子打印 Web 页中的 myCookie 的值。
 
 这是名为 myCookie 的 cookie 值:
 <%= Request.Cookies("myCookie") %>
 
 
 ==========================================
 ==========================================
 RESPONSE中使用cookies
 Cookies 集合
 Cookies 集合设置 cookie 的值。若指定的 cookie 不存在,则创建它。若存在,则设置新的值并且将旧值删去
 
 语法
 Response.Cookies(cookie)[(key)|.attribute] = value
 
 参数
 cookie
 cookie 的名称
 key
 可选参数。如果指定了 key,则 cookie 就是一个字典,而 key 将被设置为 value
 attribute
 指定 cookie 自身的有关信息
 Value
 指定分配给 key 或 attribute 的值
 功能
 attribute 表示 cookie 自身的有关信息。attribute 参数可以是下列之一:
 
 Domain 只允许写。若被指定,则 cookie 将被发送到对该域的请求中去。
 Expires 只允许写。cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。
 HasKeys 只允许读。指定 cookie 是否包含关键字。
 Path 只允许写。若被指定,则 cookie 将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。
 Secure 只允许写。指定 cookie 是否安全。
 
 注释
 如果创建了一个带有关键字的 cookie,如下列脚本所示,
 
 <%
 Response.Cookies("mycookie")("type1") = "sugar"
 Response.Cookies("mycookie")("type2") = "ginger snap"
 %>
 则此标题将被发送出去。
 
 Set-Cookie:MYCOOKIE=TYPE1=sugar&TYPE2=ginger+snap
 如果在指定 myCookie 时不指定关键字,将破坏 type1 和 type2。如下面示例所示。
 
 <% Response.Cookies("myCookie") = "chocolate chip" %>
 在前面的示例中,关键字 type1 和 type2 被破坏且其值也被删除。myCookie cookie 只有 chocolate chip 的值。
 
 反之,如果您用一个关键字调用 cookie,就会毁坏 cookie 包含的任何无关键字的值。例如,如果在上述代码后,用下面的语句调用 Response.Cookies,
 
 <% Response.Cookies("myCookie")("newType") = "peanut butter" %>
 则 chocolate chip 的值将被删除且 newType 会被设置为 peanut butter。
 
 要确定 cookie 是否有关键字,可使用下面的语法。
 
 <%= Response.Cookies("myCookie").HasKeys %>
 如果 myCookie 是一个 cookie 字典,则前面的值为 TRUE。否则,为 FALSE。
 
 可以通过循环来设置 cookie 的属性。例如,要将所有的 cookie 设置为在一个特定的日期到期,可使用下面的语法。
 
 <%
 For Each cookie in Response.Cookies
  Response.Cookie(cookie).Expires = #July 4, 1997#
 Next
 %>
 您可以使用一个循环设置一个集合中的所有 cookie 或一个 cookie 中的所有关键字。然而,循环在 cookie 没有关键字时若被引用将不会执行。为避免这种情况,你可以先使用 .HasKeys 语法检查一个 cookie 是否有关键字。下面的示例对此进行说明。
 
 <%
 If Not cookie.HasKeys Then
  'Set the value of the cookie
  Response.Cookies(cookie) = ""
 Else
  'Set the value for each key in the cookie collection
  For Each key in Response.Cookies(cookie)
  Response.Cookies(cookie)(key) = ""
  Next key
 %>
 示例
 下面的示例说明如何设置 cookie 的值以及如何为其属性赋值。
 
 <%
 Response.Cookies("Type") = "Chocolate Chip"
 Response.Cookies("Type").Expires = "July 31, 1997"
 Response.Cookies("Type").Domain = "msn.com"
 Response.Cookies("Type").Path = "/www/home/"
 Response.Cookies("Type").Secure = FALSE
 %> 

留言区(共0条)

暂无留言,快来抢占沙发~
作者声明:非原创
平台声明:文章及评论仅代表作者本人观点,五略商书系信息发布平台,仅提供信息存储空间服务,如有侵权,请联系13521509118。转载请注明作者和出处:转自五略商书m.shangdiguo.com,作者商帝国咨询!