当前位置: 代码迷 >> ASP.NET >> asp.net中cookie的有关问题,被整死了,奇了怪了,
  详细解决方案

asp.net中cookie的有关问题,被整死了,奇了怪了,

热度:2730   发布时间:2013-02-26 00:00:00.0
asp.net中cookie的问题,被整死了,奇了怪了,,,,,,,,,,,,
if (this.chkRemember.Checked == true)//前台页中保存两周复选框勾选
  {
  HttpCookie cookie = new HttpCookie("hluserinfo");

  cookie.Values.Add("hluserid", dr["userID"].ToString());
  cookie.Values.Add("hlusername", dr["username"].ToString());
  cookie.Values.Add("hluserquanxian", dr["userquanxian"].ToString());
  cookie.Expires = DateTime.Now.AddDays(14);//14天有效期
  Response.Cookies.Add(cookie);

  }


登录成功跳转去的页面后台:
  int userid;
  string username;
  int userquanxian;

  protected void Page_Load(object sender, EventArgs e)
  {
  if (!Page.IsPostBack)
  {
  HttpCookie mycookies = HttpContext.Current.Request.Cookies["hluserinfo"];
   
  if (mycookies != null) 
  {
  userid = Convert.ToInt32(Response.Cookies["hluserinfo"].Values["hluserid"]);
  username = Response.Cookies["hluserinfo"].Values["hlusername"];
  userquanxian = Convert.ToInt32(Response.Cookies["hluserinfo"].Values["hluserquanxian"]);
  }

  Response.Write(username);
  }
  }

问题是,Response.Write(username);没有任何值,空的,,,,,,,

请问,,,代码有没有写错?如果错了怎么改?

大侠人帮帮我.......


------解决方案--------------------------------------------------------
你打断点调试一下,估计COOkie为空了,获取不到值
------解决方案--------------------------------------------------------
不明白,前面辛辛苦苦的定义了
 HttpCookie mycookies = HttpContext.Current.Request.Cookies["hluserinfo"];
并且做了验证,
后面为什么不用,
却用Response.Cookies。。。。。
------解决方案--------------------------------------------------------
保存cookie用这两个
Response.AppendCookie(cookie);
Response.SetCookie(cookie);
------解决方案--------------------------------------------------------
刚好在做COOIKE的东西

C# code
存入 HttpCookie mycookie1 = new HttpCookie("abc");                            System.Text.Encoding enc = System.Text.Encoding.GetEncoding("gb2312");                            mycookie1.Values.Add("userName", HttpUtility.UrlEncode(userName.Text, enc));                            mycookie1.Values.Add("passWord", HttpUtility.UrlEncode(passWord.Text, enc));                                                           mycookie1.Expires = System.DateTime.Now.AddDays(365);                                                       Response.Cookies.Add(mycookie1);读取 System.Text.Encoding enc = System.Text.Encoding.GetEncoding("gb2312");                    userName.Text = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["abc"].Values["userName"].ToString(),enc);                    string pass =  HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["abc"].Values["passWord"].ToString(),enc);
  相关解决方案