AccountController中[HttpPost]
        public void Login(string userName, string userPass, string rememberme)
        {
            LoginBase loginbase = new LoginBase();
            string strResult = loginbase.checkLogin(userName,userPass);
            if (strResult == "1") { setModel(userName);}
            Response.Write(strResult);
        }//获取登录信息
        public void setModel(string userName)
        {
                HttpCookie Cookie_login = Request.Cookies["loginModel"];//创建Cookie
                if (Cookie_login != null)
                {
                    userName = Cookie_login["loginModel"].ToString();
                }
                else
                {
                    Cookie_login = new HttpCookie("loginModel");
                    Cookie_login["loginModel"] = userName;//放入Cookie中
                }
                //对修改 及 新创建的cookie进行重新管理
                Cookie_login.Path = "/";
                Cookie_login.Expires = DateTime.Now.AddDays(1);//设置cookie的过期时间
                Response.Cookies.Add(Cookie_login);
                LoginBase.loginModel.loginName = userName;
        }可是程序 执行到 HttpCookie Cookie_login = Request.Cookies["loginModel"];//创建Cookie时 报异常,未将对象引用到实例
ASP.NETMVCCookie异常

解决方案 »

  1.   

    Request.Cookies
    这个有没有值?
      

  2.   

    HttpCookie Cookie_login = Request.Cookies["loginModel"];
    //创建Cookie时 报异常,未将对象引用到实例把 "未将对象引用到实例" 看透。
      

  3.   

    setModel这个方法 不就是 赋值吗 为Null 创建 否则直接使用,主要是以前在webform情况下 这些都没问题,可是在mvc情况下 使用Cookie和Session都会有同样的问题 在Action1创建的Session或cookie只能在Action1 中使用,其他的action不能使用,之前的方法说 要在一个void方法进行赋值可是使用还是有问题 求解
      

  4.   

    你说是 异常吗?主要是以前在webform情况下 这些都没问题,可是在mvc情况下 使用Cookie和Session都会有同样的问题 在Action1创建的Session或cookie只能在Action1 中使用,其他的action不能使用,之前的方法说 要在一个void方法进行赋值可是使用还是有问题 求解
      

  5.   

           if (Cookie_login != null)
                    {
                        userName = Cookie_login["loginModel"].ToString();
                    }
                    else
                    {
                        Cookie_login = new HttpCookie("loginModel");
                        Cookie_login["loginModel"] = userName;//放入Cookie中
                    }
    如果没先走else ,那是不是你没赋值就使用
      

  6.   

    用Session的话
    userLoginName 全局变量
    [HttpPost]
            public string getLoginName()
            {
                if (!CommonCheck.CheckTxtNotEmpty(userLoginName))
                {
                    SetSession(userLoginName);
                }
                return userLoginName;
            }        private void SetSession(string userName)
            {
                if (Session["userLogin"] != null)
                    userName = Session["userLogin"].ToString();
                else
                    Session["userLogin"] = userName;            userLoginName = userName;
            }
      

  7.   


    貌似 session Cookie 只能写在 Action 返回值为ActionResult方法里 谢啦 各位