我在page_load中创建一个cookie,如下
Response.Cookies["path"].Value="aaaaa0";
Response.Cookies["path"].Expires = DateTime.Now.AddMinutes(20);在页面上有一个按钮,点击它就修改上面的cookie,
Response.Cookies["path"].Value = “xxx”;但它还是原来的值,这是什么原因??

解决方案 »

  1.   

    是不是没有放在If(!Page.IsPostback){ }
      

  2.   

    放在If(!Page.IsPostback){ }里面的
      

  3.   

    应该是你设置后的COOKIE没有发回到客户端
      

  4.   

    1、 是不是没有放在If(!Page.IsPostback){ }
    2、http://www.uncj.net/bbs/dispbbs.asp?boardID=10&ID=7636&page=1
      

  5.   

    HttpCookie cookie=new HttpCookie(cookieName);
    cookie["cookieModules"]=modStr;
    //设定Cookie过期时间为两小时
    cookie.Expires=DateTime.Now.AddHours(2);
    //向客户端发送该Cookie,你没有做这个
    ctx.Response.Cookies.Add(cookie);
      

  6.   

    我试过没问题啊?是不是你的button事件没有申明呢?
      

  7.   

    是修改COOKIE里面某个值,比如已经mycookie.values["id"]已经存在值了,
    现在我修改该值,但是没有变化Response.Cookies["path"].Value="aaaaa0";
    Response.Cookies["path"].Expires = DateTime.Now.AddMinutes(20);在页面上有一个按钮,点击它就修改上面的cookie,
    Response.Cookies["path"].Value = “xxx”;
    就像楼主说的那样
      

  8.   

    switch( time )
    {
    case 1:
    cookie.Expires=myCal.AddDays(DateTime.Now,1);
    break;
    case 2:
    cookie.Expires=myCal.AddDays(DateTime.Now,31);
    break;
    case 3:
    cookie.Expires=myCal.AddDays(DateTime.Now,365);
    break;
    }
    cookie.Values.Add( "newuserid",dr["newuserid"].ToString() );
    cookie.Values.Add( "username",username1);
    cookie.Values.Add( "nickname",System.Web.HttpUtility.UrlEncode(dr["nickname"].ToString()) );
    if( dr["sex"].ToString() =="0" )
    cookie.Values.Add( "sexname","男" );
    else
    cookie.Values.Add( "sexname","女" );
    cookie.Values.Add( "sex",dr["sex"].ToString() );
    cookie.Values.Add( "dj",dr["dj"].ToString() );
    cookie.Values.Add( "djname",dr["djname"].ToString() );
    cookie.Values.Add( "cx",dr["cx"].ToString() );
    cookie.Values.Add( "dd",dr["dd"].ToString() );
    cookie.Values.Add( "logincount",dr["logincount"].ToString() );
    cookie.Values.Add( "singsize",dr["singsize"].ToString() );
    cookie.Values.Add( "singsizenow",dr["singsizenow"].ToString() );
    cookie.Values.Add( "singsizespare",dr["singsizespare"].ToString() );
    System.Web.HttpContext.Current.Response.AppendCookie(cookie);
    以上是类里登陆函数的部分代码,还有一个属性
    public string NickNmae
    {
    get
    {
    System.Web.HttpCookie recookie =System.Web.HttpContext.Current.Request.Cookies["5sing"];
    return recookie.Values["nickname"];
    }
    set
    {
    System.Web.HttpCookie recookie =System.Web.HttpContext.Current.Request.Cookies["5sing"];
    recookie.Values.Set("nickname",value);
    // string s=recookie.Values["newuserid"];

    //System.Web.HttpContext.Current.Response.SetCookie(recookie);
    System.Web.HttpContext.Current.Response.Cookies.Set(recookie);
    }
    }
    大家帮忙看一下,如果我要修改NICKNAME的值,属性的SET该怎么写啊!!。高手出马吧
      

  9.   

    xiahouwen(活靶子.NET)已经给你说了啊!
      

  10.   

    解决了,我先new HttpCookie,然后在Response.Cookies.add()就可以,但直接用
    Response.cookies["parh"].value="aaa";就不行,这是为什么呢?
      

  11.   

    呵呵,cookie是不可以改的,只能新建一个然后覆盖前面那一个,就相当于改了。