您的位置:寻梦网首页编程乐园ASP编程>Asp Object 之:Response.Cookies
ASP世界
Asp Object 之:Response.Cookies
作者:风未起时  转自:中国站长学院


Cookies

Cookies 集合设置 cookie 的值。若指定的 cookie 不存在,则创建它。若存在,则设置新的值并且将旧值删去。

语法

Response.Cookies(cookie)[(key)|.attribute] = value 
 

参数

cookie
cookie 的名称。
key
可选参数。如果指定了 key,则 cookie 就是一个字典,而 key 将被设置为 value
attribute
指定 cookie 自身的有关信息。attribute 参数可以是下列之一:
名称 说明
Domain 只允许写。若被指定,则 cookie 将被发送到对该域的请求中去。
Expires 只允许写。cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。
HasKeys 只允许读。指定 cookie 是否包含关键字。
Path 只允许写。若被指定,则 cookie 将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。
Secure 只允许写。指定 cookie 是否安全。


Value
指定分配给 key attribute 的值。

注释

如果创建了一个带有关键字的 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" %> 
 

在前面的示例中,关键字 type1type2 被破坏且其值也被删除。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
%> 
 

应用于

Response 对象