ASP Cookies 集合

Request objekt reference manual

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#
%>

Nu er værdien af cookie'en "firstname" "Alex", og dens udløbsdato på brugerens computer er 10. maj 2002.

"Request.Cookies"-kommandoen bruges til at hente værdien af en cookie.

I nedenstående eksempel henter vi værdien af cookie "firstname" og viser den på siden:

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

Output:

Firstname=Alex

En cookie kan indeholde en samling af flere værdier. Vi kalder det for, at cookie'en har nøgler.

I nedenstående eksempel skal vi oprette en cookie-samling med navnet "user".", "user"-cookie'en indeholder nøgler med information om brugeren.

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

Nedenstående kode kan læse alle cookies, som serveren har sendt til brugeren. Bemærk, at vi bruger HasKeys-egenskaben til at afgøre, om cookie'en har nøgler:

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

Output:

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

Request objekt reference manual