asp.net(c#)2.0 生成cookie的代码:
 HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
            Response.Cookies.Add(authCookie);删除cookie的代码:if (Request.Cookies["authCookie"] != null)//断点调试的时候,IF里面的代码是执行了的,但是COOKIE还是存在
        {
            HttpCookie myCookie = new HttpCookie("authCookie");
            myCookie.Expires = DateTime.Now.AddDays(-1);
            Response.Cookies.Add(myCookie);
        }    请帮帮看看问题所在???关注^^

解决方案 »

  1.   

    你直接Request.Cookies["authCookie"]=null 不就好了吗
      

  2.   


    这个代码调试的时候出错: 无法对属性或索引器“System.Web.HttpCookieCollection.this[string]”赋值 -- 它是只读的
      

  3.   


    调用 Cookies集合的 Remove方法只能从服务器端的集合中移除 Cookie,使 Cookie 不会被发送至客户端客户端的Cookie还是存在的!
      

  4.   

    Remove 是不行的...
    cookie删除只能设置超时
    楼主不要重新生成cookie对象,应该是要取得当前cookie然后设置超时就行了
     HttpContext.Current.Response.Cookies[cookieName].Expires = DateTime.Now.AddDays(-1);
      

  5.   

    下面是写cookie
    HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项
    DateTime dt = DateTime.Now;//定义时间对象
    TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用时间,具体查msdn
    cookie.Expires = dt.Add(ts);//添加作用时间
    cookie.Values.Add("user","cxbkkk");//增加属性
    cookie.Values.Add("userid","1203");
    Response.AppendCookie(cookie);//确定写入cookie中        读取cookie
    if(Request.Cookies["Info"]!=null)
    {
        string temp=Convert.ToString(Request.Cookies["Info"].Values["user"])+"  "+Convert.ToString(Request.Cookies["Info"].Values["userid"]);
        //读全部就用Request.Cookies["Info"].Value)
          if(temp=="")
          {
              Response.Write("空");
          }
          else
            Response.Write(temp);
    }
    else
    {
        Response.Write("error");
    }        修改cookie
    Response.Cookies["Info"]["user"] = "2";
    Response.Cookies["Info"].Expires = DateTime.Now.AddDays(1);        删除cookie下的属性
    HttpCookie acookie=Request.Cookies["Info"];
    acookie.Values.Remove("userid");
    acookie.Expires = DateTime.Now.AddDays(1);
    Response.Cookies.Add(acookie);        删除所有cookie,就是设置过期时间为现在就行了
    int limit=Request.Cookies.Count - 1;
    for(int i=0;i <limit;i++)
    {
        acookie = Request.Cookies(i)
        acookie.Expires = DateTime.Now.AddDays(-1)
        Response.Cookies.Add(acookie)
    }
    2.今天有空就把操作cookie的写了,虽然很简单,不过免得到时候忘记了,之前就是忘记了还很实验了一番才弄出来,郁闷了。
      下面是写cookie
      HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项
      DateTime dt = DateTime.Now;//定义时间对象
      TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用时间,具体查msdn
      cookie.Expires = dt.Add(ts);//添加作用时间
      cookie.Values.Add("user","cxbkkk");//增加属性
      cookie.Values.Add("userid","1203");
      Response.AppendCookie(cookie);//确定写入cookie中 读取cookie
        if(Request.Cookies["Info"]!=null)
        {
        string temp=Convert.ToString(Request.Cookies["Info"].Values["user"])+" "+Convert.ToString(Request.Cookies["Info"].Values["userid"]);
        //读全部就用Request.Cookies["Info"].Value)
        if(temp=="")
        {
        Response.Write("空");
        }
        else
      Response.Write(temp);
      }
      else
      {
      Response.Write("error");
      } 修改cookie
      Response.Cookies["Info"]["user"] = "2";
      Response.Cookies["Info"].Expires = DateTime.Now.AddDays(1); 删除cookie下的属性
      HttpCookie acookie=Request.Cookies["Info"];
      acookie.Values.Remove("userid");
      acookie.Expires = DateTime.Now.AddDays(1);
      Response.Cookies.Add(acookie); 删除所有cookie,就是设置过期时间为现在就行了
      int limit=Request.Cookies.Count - 1;
      for(int i=0;i <limit;i++)
      {
      acookie = Request.Cookies(i)
      acookie.Expires = DateTime.Now.AddDays(-1)
      Response.Cookies.Add(acookie)
      } 这下不用到处找了 
      

  6.   


    试了一下,还是cookie还是存在啊!!!
      

  7.   

    acookie = Request.Cookies(i) 
      acookie.Expires = DateTime.Now.AddDays(-1) 
      Response.Cookies.Add(acookie) 
    这个代码我也试了,COOKIE还是存在的!
      

  8.   

    添加:
    HttpCookie cookie = new HttpCookie("zljk_user", this.txtuser.Text.Trim());
    Response.Cookies.Add(cookie);删除:
    HttpCookie cookie = new HttpCookie("zljk_user", null);
    cookie.Expires = DateTime.Now.AddYears(-1);
    Response.Cookies.Add(cookie);