为什么我的COOKIE清除了值还有???
int cookie;
//Request.Cookies.Remove("deny");
//Request.Cookies.Clear();
以上两种清除方法我都用过了.当它们不是注释的时候这个COOKIE的值就是 0
,但是一把它们注释起来这COOKIE就又回到6了...为什么啊?
cookie = Convert.ToInt32(Request.Cookies["deny"].Value.ToString());  //这是读取COOKIE   值是6protected void Button1_Click(object sender, EventArgs e)
    {
HttpCookie hc = new HttpCookie("deny");
                hc.Expires.AddYears(10);
                hc.Value = "6";
                Response.Cookies.Add(hc);
}    //这是我通过点击加的一个COOKIE,它是在一个按钮事件里的.所以页面加载不会涉及到这里.

解决方案 »

  1.   

    Remove只是从集合中清楚了该Cookie项,并没有实际删除吧。
    我试了一下,这样可以删除(将它的过期日期设置为一个已经过去的时间)
                HttpCookie cookie = Request.Cookies["deny"];
                if (cookie == null)
                {
                    Response.Write("cookie is not exists.");
                    cookie = new HttpCookie("deny", "6");
                    cookie.Expires = DateTime.Now.AddYears(10);
                    Response.Cookies.Add(cookie);
                }
                else
                {
                    Response.Write("cookie's value is " + cookie.Value);
                    cookie.Expires = DateTime.Now.AddYears(-1);
                    Response.Cookies.Set(cookie);
                }
      

  2.   

        protected void Page_Load(object sender, EventArgs e)
        {
                HttpCookie cookie = Request.Cookies["deny"];
                if (cookie == null)
                {
                    Response.Write("cookie is not exists.");
                    cookie = new HttpCookie("deny", "6");
                    cookie.Expires = DateTime.Now.AddYears(10);
                    Response.Cookies.Add(cookie);
                }
                else
                {
                    Response.Write("cookie's value is " + cookie.Value);
                    cookie.Expires = DateTime.Now.AddYears(-1);
                    Response.Cookies.Set(cookie);
                }
        }