在登录的时候当用户点击记住我的时候我将用户的信息存到cookie中
  if (Chk.Checked)
            {
                //记住密码
                HttpCookie userCookie = new HttpCookie("LoginCookies");
                userCookie.Expires = DateTime.Now.AddDays(1); //DateTime.Now.AddDays(1);   DateTime.Now.AddMinutes(100)
                userCookie.HttpOnly = false;
                userCookie.Values.Add("Tel_num", userName);
                userCookie.Values.Add("Nickname", member_col[0].Nickname);
                userCookie.Values.Add("Password", strMd5);
                Response.AppendCookie(userCookie);            }
            Session["nickName"] = member_col[0].Nickname;
            Session["tel_Num"] = member_col[0].Tel_num;
            Session["password"] = strMd5;
}
然后在每个页面的page_lode中判断cookie是否为空
HttpCookie loginCookies = Request.Cookies["LoginCookies"];
        LoginInfo logi = new LoginInfo();
        if (loginCookies != null)
        {
            //读出用户名和密码
            Session["nickName"] = loginCookies["nickName"];
            Session["tel_Num"] = loginCookies["Tel_num"];
            Session["password"] = loginCookies["Password"];
            //去数据库判断用户是否存在
        }
但是我这样做当把网站发布到iis上的时候.我点击记住我 然后点击登录的时候出错
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
不知道是为什么,还有我这样写对吗}

解决方案 »

  1.   

    你先判断一下Request.Cookies["LoginCookies"]; 
    不是null
      

  2.   

    Cookies 存在或者不存在的报错!!
      

  3.   

    难道说我点击注销的时候没有删除之前的cookie吗
    我删除cookie的代码是这样写的
     HttpCookie loginCookies = Request.Cookies["LoginCookies"];
          
            if (loginCookies != null)
            {
                TimeSpan ts = new TimeSpan(-1, 0, 0, 0);
                 loginCookies.Expires = DateTime.Now.Add(ts);
                Response.AppendCookie(loginCookies);         }