1

ASP.netを使用してCookieを保存しています。コードビハインド(C#)のポップアップにCookieを保存します。ポップアップが閉じる前にCookieを要求すると、Cookieはそこにありますが、ポップアップを閉じてポップアップに戻り、Page_LoadイベントでCookieを確認すると、Cookieは表示されません。どうすればそれを持続させることができますか?

ポップアップOKボタンの次のコード

// Set the cookie.
this.Response.Cookies["UserData"].Secure = true;
this.Response.Cookies["UserData"]["UserId"] = iId.ToString();
this.Response.Cookies["UserData"]["UserEmail"] = strEmail;
this.Response.Cookies["UserData"].Expires = DateTime.Now.AddDays(1);

Page_Loadイベントに配置された次のコード

// Get the cookie.
if (null != this.Request.Cookies["UserData"])
{
    // Transmit the cookie information using SSL. Note, the cookie data is still in plain text on the user's computer.
    this.Request.Cookies["UserData"].Secure = true;

    // Extract: Email
    String strEmail = this.Server.HtmlEncode(oPage.Request.Cookies["UserData"]["UserEmail"]);
}

当然、最初は何も表示されませんが、その後のロードではCookieが表示されます。

.Values ["Subitem"] = "whatever"を使用することで少し運が良かったのですが、それによってベースは持続しましたが、すべてのサブアイテムが消えました。

4

1 に答える 1

2

考えられる理由の1つ:ページはHTTPですが、CookieをHTTPSのみに設定しています。したがって、ブラウザはHTTPリクエストでサイトにそれらを送り返すことはありません。

Fiddler(または他のHTTPデバッガー)を使用して、Cookieが応答(および次の要求)で正しく送信されるかどうかを確認します。

于 2013-01-03T00:53:09.060 に答える