【プログラミング】【ASP.NET】Cookieの使い方メモ

ちょっと体調も戻ってきたところで、久しぶりにプログラミングメモ。

ASP.NETでクッキー(Cookie)を使う、しかも二階建ての場合。

例えば、CookieNameという名前でCookieを作成して、その中でvalue1=true, value2=falseとか扱いたい場合。

「新館」で言いますと、下の画面のように「サムネールで表示」チェックボックスを作っておき、表示を切り替えるようにしたいわけですが、これをCookieで閲覧者側に保存しておこうというわけです。

Shinkan_thumbnail_01

Cookieの読み出しは、こんな感じ。普通は、Page_Loadイベントハンドラの中に書きます。

string cookie_name = "CookieName";
string value_name = "Value";
bool value = false;

if (Request.Cookies[cookie_name] != null)
{
    if (Request.Cookies[cookie_name][value_name] != null)
    {
        value = Request.Cookies[cookie_name][value_name].Equals("true", StringComparison.OrdinalIgnoreCase);
        // valueを使って何かする
    }
}

Cookieの値を変えたい場合には、こんな感じ。ページが出力されるまでのタイミングで。

Response.Cookies[cookie_name][value_name] = value? "true" : "false";
Response.Cookies[cookie_name].Expires = DateTime.Now.AddDays(7);

このように、有効期間は二階建ての方には設定できず、あくまでもCookie名で指定されるCookie全体に適用されるようです。

ということで、ほとんど備忘録的ですが…。

コメント