protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Cookies["ShoppingCartss"] != null)
        {
           
        }
    }
    public void WriteCookies()
    {
        HttpContext.Current.Response.Cookies["ShoppingCartss"]["ProductID"] = "dd";
        HttpContext.Current.Response.Cookies["ShoppingCartss"]["Amount"] = "ff";
        HttpContext.Current.Response.Cookies["ShoppingCartss"].Expires = DateTime.Now.AddDays(60);    }
    public void Clear()
    {
        //删除Cookies 
        HttpContext.Current.Response.Cookies["ShoppingCartss"].Expires = DateTime.Parse("1980-01-01");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        WriteCookies();
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Clear();
    }
为什么page_load时候Request.Cookies["ShoppingCartss"]这个对象就不是为null,现在情况是我调用了Claar()这个方法,但Request.Cookies["ShoppingCartss"]对象为什么不等于Null,请大侠们指点迷津,谢谢哦

解决方案 »

  1.   

    Clear()方法只是设置你的cookie过期事件而已。。你设置之后 从新调试一遍 跑一下 访问这个cookie 看看是什么结果?
      

  2.   

    你调用clear()的时候给它赋值了,他怎么会是null的??
    你可以设置cookies的有效期。。这个好像是在配置文件里面改的。你查一下cookies的特性和设置方法。
      

  3.   

    Clear()
    只是设置过期   判断一下过期
      

  4.   

    //删除Cookies  
      HttpContext.Current.Response.Cookies["ShoppingCartss"].Expires = DateTime.Parse("1980-01-01");
    你这个是赋值。根本不是删除啊。
      

  5.   

    我要如何清空cookie里面的内容啊?
      

  6.   

    你直接将那个cookie里面赋null值行不啊
      

  7.   

    帮楼主顶下吧, COOKIE是不能删除的, 只能设置过期时间让他过期。。
      

  8.   

    /// <summary>
    /// 清空cookie
    /// </summary>
    public static void ClertCookie() {
    if (HttpContext.Current.Request[CookieName] != null) {
    HttpCookie cookie = new HttpCookie(CookieName);
    DateTime dt = DateTime.Now;
    TimeSpan ts = new TimeSpan(0, 0, 0, 0, 0); HttpContext.Current.Response.AppendCookie(cookie);
    cookie.Expires = dt.Add(ts);
    }
      

  9.   

    要用新建cookies覆盖而不是简单清空。
    不能直接修改或删除Cookie,只能创建一个新的Cookie