日期:2014-03-06 浏览次数:20917 次
Cookies 集合设置 cookie 的值。若指定的 cookie 不存在,则创建它。若存在,则设置新的值并且将旧值删去。
Response.Cookies(cookie)[(key)|.attribute] = value
如果创建了一个带有关键字的 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%>
Response 对象