Cookies

Cookies コレクションは、cookie の値を設定します。指定された cookie が存在しない場合は、新しく作成されます。cookie が存在する場合には、新しい値を受け取って古い値を破棄します。

構文

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

パラメータ

cookie

cookie の名前です。

key

省略可能なパラメータです。key を指定した場合、cookie は辞書とみなされ、key には value が設定されます。

attribute

cookie 自体に関する情報を指定します。次のいずれかを属性パラメータに指定できます。

名前

説明

Expires

(書き込み専用) cookie の有効日付です。

Domain

(書き込み専用) 指定した場合、cookie はこのドメインへの要求だけに送られます。

Path

(書き込み専用) 指定した場合、cookie はこのパスへの要求だけに送られます。この属性を設定しなければアプリケーション パスが使われます。

Secure

(書き込み専用) cookie が保護されているかどうかを指定します。

HasKeys

(読み取り専用) 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 が破棄されます。この例を次に示します。

<% Response.Cookies("myCookie") = "chocolate chip" %> 
 

この例で、type1type2、およびそれらの値は破棄され、cookie myCookie の値は "chocolate chip" になります。

逆に、キーを付けて cookie を呼び出すと、設定されている可能性のある非キーの値が破棄されます。たとえば、上のコードの後で次のように Response.Cookies を呼び出します。

<% Response.Cookies("myCookie")("newType") = "peanut butter" %> 
 

すると、値 chocolate chip は破棄され、newTypepeanut butter が設定されます。

cookie がキーを持っているかどうかを調べるには次の構文を使います。

<%= Response.Cookies("myCookie").HasKeys %> 
 

myCookie が cookie 辞書であれば前の値は TRUE に評価され、そうでなければ FALSE に評価されます。

ループを使うと cookie の属性を設定できます。たとえば、すべての cookies に特定の有効日付を設定するには、次の構文を使います。

<% 
For Each cookie in Response.Cookies
Response.Cookie(cookie).ExpiresAbsolute = #July 4, 1997#
Next
%>

また、ループを使って、コレクション内のすべての cookies の値や、cookie 内のすべてのキーを設定することもできます。ただし、キーを持っていない cookie に対してはループが実行されません。これを防ぐには、.HasKeys の構文を使って cookie がキーを持っているかどうかを先にチェックしておきます。以上の例を次に示します。

<% 
If Not cookie.HasKeys Then ' cookie の値を設定する Response.Cookies(cookie) = "" Else ' cookie コレクション内の各キーに値を設定する 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
%>

対象

Response オブジェクト

関連項目

Request.Cookies


(C) Microsoft Corporation. All rights reserved.