ASP Cookies 集合

Request 对象参考手册

Cookies 集合用于设置或取得 cookie 的值。如果 cookie 不存,就创建它,并赋予它规定的值。

注释:Response.Cookies 命令必须位于 <html> 标签之前。

语法:

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

variablename=Request.Cookies(name)[(key)|.attribute]
参数 描述
name 必需。cookie 的名称。
value 必需(对于 Response.Cookies 命令)。cookie 的值。
attribute

可选。规定有关 cookie 的信息。可以是下面的参数之一。

  • Domain - 只写;cookie 仅送往到达该域的请求。
  • Expires - 只写;cookie 的失效日期。如果没有规定日期,cookie 会在 session 结束时失效。
  • HasKeys - 只读;规定 cookie 是否拥有 key(这是唯一一个可与 Request.Cookies 命令使用的属性)
  • Path - 只写;如果设置,cookie 仅送往到达此路径的请求。如果没有设置,则使用应用程序的路径。
  • Secure - 只写;指示 cookie 是否安全。
key 可选。规定在何处赋值的 key。
实例

"Response.Cookies" 命令用于创建 cookie 或者设置 cookie 的值:

<%
Response.Cookies("firstname")="Alex"
%>

在上面的代码中,我们创建了一个名为 "firstname" 的 cookie,并为它赋值 alex 。

也可以为 cookie 设置属性,比如设置 cookie 的失效时间:

<%
Response.Cookies("firstname")="Alex" 
Response.Cookies("firstname").Expires=#May 10,2002#
%>

现在,名为 "firstname" 的 cookie 的值是 "Alex",同时它在用户电脑中的失效日期是 2002 年 5 月 10 日。

"Request.Cookies" 命令用于取回 cookie 的值。

在下面的例子中,我们取回了 cookie "firstname" 的值,并把它显示到页面上:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

输出:

Firstname=Alex

一个 cookie 可以包含一个多值的集合。我们称之为 cookie 拥有 key 。

在下面的例子中,我们要创建一个名为 "user" 的 cookie 集合。"user" cookie 拥有包含有关用户信息的 key 。

<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Adams"
Response.Cookies("user")("country")="UK"
Response.Cookies("user")("age")="25"
%>

下面的代码可读出所有服务器已向用户发送的 cookie 。请注意,我们使用了 HasKeys 属性来判断 cookie 是否拥有 key :

<html>
<body>

<%
dim x,y

for each x in Request.Cookies
  response.write("<p>")
  if Request.Cookies(x).HasKeys then
    for each y in Request.Cookies(x)
      response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
      response.write("<br /")
    next
  else
    Response.Write(x & "=" & Request.Cookies(x) & "<br />")
  end if
  response.write "</p>"
next
%>

</body>
</html>
%>

输出:

firstname=Alex
user:firstname=John
user:lastname=Adams
user:
country=UK
user:
age=25

Request 对象参考手册