3

多次元 Cookie を使用して、アプリケーションに Cookie を保存しました。例えば

HttpCookie MyCookie = Request.Cookies["Temp"] as HttpCookie;
                if (MyCookie != null)
                {
                    MyCookie.Values["SID"] = Session.SessionID;
                   MyCookie.Values["NAME"] = "NAME";
                   MyCookie.Values["abc"] = "abc";
                   MyCookie.Values["xyz"] = "xyz";
                   ...
                }

次に、使用したこの多次元 Cookie を取得します。

string s  = Request.Cookies["Temp"]["SID"]

私の質問は、「一時」クッキーから「SID」値のみを期限切れにしたいということです。私はこれで試しました

Request.Cookies["Temp"]["SID"] = null;

しかし、それは機能していません。多次元クッキーから特定のインデックスをクリアするにはどうすればよいですか?

4

2 に答える 2

0

これで十分です。

Request.Cookies["Temp"].Values["SID"] = null;

それが役に立てば幸い。:)

于 2012-10-27T09:25:54.460 に答える
0

これは、次の質問で既に回答されています: ASP.NET Cookie サブ値の削除

HttpCookie.Values は NameValueCollection であるため、そのコレクションを変更できますが、古いものを上書きするには、Cookie を新しいものとして再送信する必要があります。

HttpCookie cookie = Request.Cookies["Temp"];
if(cookie != null)
{
    cookie.Values.Remove("SID");
    Response.AppendCookie(cookie);
}

これは、次の MSDN ページでも説明されています

于 2012-10-27T20:51:34.790 に答える