0

クライアント = IE9、サーバー = asp.net (正確には SharePoint アプリケーション ページ)

ページのPage_Loadメソッドには、次のコードがあります。

Response.Cookies["XXXXX"].Value = tabtitles.IndexOf(Request.Params["tab"]).ToString();
Response.Cookies["XXXXX"].Expires = DateTime.Now.AddDays(1);

document.cookieCookie ロジックが期待どおりに動作しなかったため、IE 開発者ツールのコンソールを使用すると、次の値があることがわかりました。

>> document.cookie
    "XXXXX=3; WSS_KeepSessionAuthenticated={7da6dcd3-28b6-4c8f-b507-6fa80a16143c}; databaseBtnText=Open%20with%20Access; databaseBtnDesc=Works%20with%20items%20in%20a%20Microsoft%20Access%20database%2E; XXXXX=7" 

ご覧のとおり、Cookie はdocument.cookie置き換えられるのではなく、末尾に追加されました。これはIE9のバグですか?必要な Cookie を正しく設定して取得するにはどうすればよいですか?

4

1 に答える 1

1

問題は、以前にjqueryプラグインを使用してCookieを設定していたため、現在のパスをCookieのパスとして設定していたことです。上記の .Net コードは、追加された Cookie のパスを に設定します。"/"そのため、2 つの異なる Cookie が存在し、document.cookies変数を表示したときに見えませんでした。私の解決策は、jquery Cookie のパスを に設定することでした"/"

于 2013-09-09T23:46:40.587 に答える