The Cookies collection sets the value of a cookie. If the specified cookie does not exist, it is created. If it exists, it takes the new value and the old value is discarded.
Syntax
Response.Cookies(cookie)[(key)|.attribute] = value
Parameters
Name |
Description |
Expires |
The date on which the cookie expires. |
Domain |
If specified, the cookie is sent only to requests to this domain. |
Path |
If specified, the cookie is sent only to requests to this path. If this attribute is not set, the application path is used. |
Secure |
Specifies whether the cookie is secure. |
HasKeys |
Specifies whether the cookie contains keys. |
Remarks
If a cookie with a key is created, for example:
<%
Response.Cookies("mycookie")("type1") = "sugar"
Response.Cookies("mycookie")("type2") = "ginger snap"
%>
The following header is sent:
Set-Cookie:MYCOOKIE=TYPE1=sugar&TYPE2=ginger+snap
A subsequent assignment to myCookie without specifying a key, would destroy type1 and type2. This is shown in the following example.
<% Response.Cookies("myCookie") = "chocolate chip" %>
In the preceding example, the keys type1 and type2 are destroyed and their values are discarded. The myCookie cookie now has the value "chocolate chip".
Conversely, calling a cookie with a key destroys any nonkey values it might have contained. For example, if after the preceding code, you call Response.Cookies with the following:
<% Response.Cookies("myCookie")("newType") = "peanut butter" %>
The value "chocolate chip" is discarded and 渡ewType would be set to "peanut butter".
To determine whether a cookie has keys, use the following syntax:
<%= Response.Cookies("myCookie").HasKeys %>
If myCookie is a cookie dictionary, the preceding value evaluates to TRUE. Otherwise, it evaluates to FALSE.
You can use an iterator to set cookie attributes. For example, to set all of the cookies to expire on a particular date, use the following syntax:
<%
For Each cookie in Response.Cookies
Response.Cookie(cookie).ExpiresAbsolute = #July 4, 1997#
Next
%>
You can also use an iterator to set the values of all the cookies in a collection, or all the keys in a cookie. However, iterating through keys on a cookie that does not have keys will not produce any output. To avoid this you can first use the .HasKeys syntax to check to see whether a cookie has any keys. This is demonstrated in the following example:
<%
'Set the value for the entire cookie collection
For Each cookie in Response.Cookies
If Not cookie.HasKeys Then
'Set the value of the cookie Response.Cookies(cookie) = "" Else
'Set the value for each key in the the cookie collection
For Each key in Response.Cookies(cookie) Response.Cookies(cookie)(key) = "" Next key
End If
Next cookie
%>
Examples
The following examples demonstrate how you can set a value for a cookie and assign values to its attributes.
<%
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
%>
Applies To
See Also