ASP Cookies 集合
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