我在前台JS中写有: document.cookie = "text=" + cookie + ";expires=" + date.toGMTString();
我在后台想要更改这个Cookie的值我是这样写的: if (Request.Cookies["text"] != null)
            {
            cookie = Request.Cookies["text"].Value.ToString();
                //对cookie的值操作
              HttpCookie icookie = new HttpCookie("text", "1"); //1 是测试用的值
            icookie.Expires = DateTime.Now.AddHours(1);
           
            Response.Cookies.Add(icookie);
               
            }
可是结果发现Cookies["text"]的值没有更改.而且我看Request.Cookie的AllKeys里居然有二个text.请问这是什么问题,应该怎么改.

解决方案 »

  1.   

    你只要获取你要改的cookie,然后再对它的value赋值就可以了,没必要再添加一次
      

  2.   


     if (Request.Cookies["text"] != null)
                {
                    HttpCookie icookie = Request.Cookies["text"];
                    icookie.Value = "1";
                    icookie.Expires = DateTime.Now.AddHours(1);
                    Response.SetCookie(icookie);            }
      

  3.   


                if (Request.Cookies["text"] != null)
                {
                    cookie = Request.Cookies["text"].Value.ToString();
                    //对cookie的值操作
                    Response.Cookies["text"].Value = "1";
                    Response.Cookies["text"].Expires = DateTime.Now.AddHours(1);
                }
      

  4.   

                if (Request.Cookies["text"] != null)
                {
                    cookie = Request.Cookies["text"].Value.ToString();
                    Response.Cookies["text"].Value = "1";
                    Response.Cookies["text"].Expires = DateTime.Now.AddHours(1);
                }
      

  5.   

    Response.SetCookie从新赋值就可以Response.Cookies.Add(icookie);是又添加一个
      

  6.   

    java中该问题如何解决。
    java的Response没有SetCookie的方法,