Cookieに値を設定するサンプルと、
Cookieから値を取り出すサンプルです。
クッキーに値を設定するサンプル
例1-1)新しいクッキーを作成して値をセットする
1 2 3 4 |
Dim cookie As New HttpCookie("HogeCookie") cookie.Value = "HogeValue" cookie.Expires = DateTime.Now.AddDays(30) '30日後に有効期限切れに設定する Response.Cookies.Add(cookie) |
例1-2)既存のクッキーに直接値をセットする
1 2 |
Response.Cookies("MyCookie").Value = "HogeValue" Response.Cookies("HogeCookie").Expires = DateTime.Now.AddDays(30) '30日後に有効期限切れに設定する |
例1-3)複数の値を1つのクッキーに保存する場合
1 2 3 |
Response.Cookies("UserSettings")("Font") = "Arial" Response.Cookies("UserSettings")("Color") = "Blue" Response.Cookies("UserSettings").Expires = DateTime.Now.AddDays(30) '30日後に有効期限切れに設定する |
例1-4)HttpCookieオブジェクトを使用する方法
1 2 3 4 5 6 7 |
Dim myCookie As New HttpCookie("UserSettings") myCookie("Font") = "Arial" myCookie("Color") = "Blue" myCookie.Expires = DateTime.Now.AddDays(30) '30日後に有効期限切れに設定する myCookie.Secure = True ' HTTPSのみで送信 myCookie.HttpOnly = True ' JavaScriptからアクセス不可 Response.Cookies.Add(myCookie) |
クッキーから値を取得するサンプル
例2-1)クッキー"HogeCookie"から値を取得する
1 |
Dim cookieValue As String = Request.Cookies("HogeCookie").Value |
例2-2)Nullチェックを行いつつクッキーを取得する
1 2 3 4 |
Dim cookieValue As String = String.Empty If Not Request.Cookies("HogeCookie") Is Nothing Then cookieValue = Server.HtmlEncode(Request.Cookies("HogeCookie").Value) End If |
クッキーが取得できない可能性を考えてチェックを行うことをお勧めします。
例2-3)サブキーを持つクッキーからの値の取得
1 2 |
Dim fontValue As String = Request.Cookies("UserSettings")("Font") Dim colorValue As String = Request.Cookies("UserSettings")("Color") |
例2-4)複数の値を持つクッキーからの値の取得
1 2 3 4 5 6 7 |
If Request.Cookies("UserSettings").HasKeys Then Dim cookieValues As New NameValueCollection(Request.Cookies("UserSettings").Values) For Each key As String In cookieValues.AllKeys Dim value As String = cookieValues(key) Console.WriteLine($"{key}: {value}") Next End If |
備考
- クッキーの値は常に文字列として取得されます。
- クッキーが存在しない場合や期限切れの場合、値の取得に失敗する可能性があります。
コメント