none
ASP.NET cookie在IE中奇怪丢失 RRS feed

  • 问题

  • 直接上代码, 下面的代码在IE中执行的效果是,第一次点击可以创建Name为Test的Cookie,但是第二次点击按钮,这个Cookie就消失了,第3次点Cookie又出现,第4次又消失......。但是在Firefox中点击按钮多次Cookie都一直存在。求教为什么在IE中第2次点击按钮Cookie就没了?下面的代码执行完后,Response.Cookies中应该包含2个Name为Test的Cookie啊...先谢谢了,哪位大神解释下.
                this.btnAddCookie.Click += (object s, EventArgs evt) =>
                {
                    Response.Cookies["Test"].Value = null;
                    HttpCookie c = Request.Cookies["Test"];
                    c.Value = "Test Cookie New Value";
                    c.Expires = DateTime.MaxValue;
                    Response.Cookies.Add(c);
                }

    2013年2月5日 8:53

答案

  • protected void Page_Load(object senderEventArgs e)
            {
     
                    Button1.Click += (object sEventArgs f=> 
                    {
                        HttpCookie c = Request.Cookies["Test"];
                        if (c == null)
                        {
                            c = new HttpCookie("Test");
                        }
                        c.Value = "Test Cookie New Value";
                        c.Expires = DateTime.MaxValue;
                        Request.Cookies.Add(c);
                        //测试Cookie是否存在
                        Response.Write(Request.Cookies.Count);
                    };
            }

    帮助一起改进论坛质量?提交你的意见于此。
    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2013年2月6日 4:41