Response 对象之Cookies集合

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

语法

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

参数

cookiecookie 的名称。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。如下面示例所示。

在前面的示例中,关键字 type1 和 type2 被破坏且其值也被删除。myCookie cookie 只有 chocolate chip 的值。

反之,如果您用一个关键字调用 cookie,就会毁坏 cookie 包含的任何无关键字的值。例如,如果在上述代码后,用下面的语句调用 Response.Cookies,

则 chocolate chip 的值将被删除且 newType 会被设置为 peanut butter。

要确定 cookie 是否有关键字,可使用下面的语法。

如果 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
%>

本文作者:相关阅读:

跨越fso、wsh、 application写文件

浅析ASP.NET生成随机密码函数

使Oracle数据库保持优良性能

张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习

理解Javascript_12_执行模型浅析

揪出Windows Vista年龄和其它更多隐藏秘密

一步一步学习PHP(8) php 数组

for 提取文本整行内容的方法

Fedora Core6上安装vmware tool的问题

修正漏洞最快 Linux操作系统越来越安全

ASP程序经验:关于ASP生成伪参数技巧

MySql delimiter的作用是什么

计算黄金分割的javascript代码

Windows7系统玩游戏屏幕出现黑边的解决方法