5

Request.Cookies("TemplateName").valueアプリケーションのページの 1 つ (ページ 3) にCookie を設定しています。これで、ページ 3 からページ 4 およびページ 2 に移動し、Cookie の値を保持できます。しかし、ログアウトして再度ログインしても値は残っていますが、新しいインスタンスを開始するときに、Cookie の値を空白 "" にリセットするにはどうすればよいですか?

私は試した:

Request.Cookies("TemplateName").Expires = Now
Request.Cookies("TemplateName").value = "" 

私のホームページでは、Cookie は 2 ページ目と 3 ページ目の値を保持しています。

4

3 に答える 3

6

リクエストではなくレスポンスを使用する必要があります

Response.Cookies["TemplateName"].Value = "";

Response.Cookies["TemplateName"].Expires = DateTime.Now;

VBの編集。

Dim subkeyName As String
subkeyName = "userName"
Dim aCookie As HttpCookie = Request.Cookies("userInfo")
aCookie.Values.Remove(subkeyName)
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)


Response.Cookies("userName").Value = "patrick"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)

これらの例は、 MSDN サイトからすぐに出てきます

サイドノート

多くの場合、人々は使用しようとします

Request.Cookies.Remove("MyCookie");

「リクエストコレクション」からのみCookieを削除します。Cookieを削除する場合は、期限切れにする必要があります。詳細はこちら

于 2008-12-22T22:11:26.280 に答える
0

これはばかげているように聞こえるかもしれません。

しかし、他の場所から Cookie を設定しようとしていますか? 役立つ場合は、TemplateName のコードを検索します。

于 2008-12-22T22:30:32.403 に答える
0

私は .Net にはあまり詳しくありませんが、一般的に Web アプリでは、本文を書き出す前に必ず応答ヘッダーを設定する必要があります。そうしないと、送信されない可能性があります。再確認するだけの何か。

于 2008-12-22T22:39:46.300 に答える