1

usercontrol [A]でCookie値を設定し、別のusercontrol[B]で値を読み取っています。

ただし、この値はサーバー側のページ更新でのみ使用できます。更新された値はfirebugcookieタブで確認できます。

ページを参照すると、正しい値がページに表示されます。

この問題を修正するにはどうすればよいですか?usercontrol[B]でCookieを読み取るために使用しているコードは次のとおりです。usercontrol [A]で設定した新しい値ではなく、常に古い値です。

 HttpCookie cookieTool = Request.Cookies["previousTool"];

    string strSessionReturnToolTitle = "";
    string strSessionReturnToolURL = "";

    if (cookieTool != null)
    {
     //   Response.Write("<BR>Cookie value  " + cookieTool["returnToolurl"].ToString());
        if (Request.UrlReferrer == null)
        {
            cookieTool.Expires = DateTime.Now.AddDays(-1d);
            Response.Cookies.Add(cookieTool);
        }
        else
        {

            strSessionReturnToolTitle = cookieTool["returnTooltitle"];
            strSessionReturnToolURL = Server.UrlDecode(cookieTool["returnToolurl"]);
        }
    }
4

1 に答える 1

0

Request.Cookies入っています。Response.Cookies発信しています。

Request.Cookies現在のリクエストについてのみ知っています。Response.Cookies経由で追加すると、次のリクエストまで更新されないと思います。

nullResponse.Cookies["previousTool"]の場合は、Cookie の取得を試みることができます。Request.Cookies["previousTool"]

それがうまくいかない場合は、値を Session または に格納するなど、別の方法が必要になりますHttpContext.Current.Items

于 2013-01-29T18:13:11.303 に答える