Session讀取時報錯:未將對象引用實例化

個人代碼:html

userController中的登陸方法中:session

Boolean result= _userService.ValidUser(userName, pwd, out msg);
if (result && msg == string.Empty)
{
Session["isLogin"] = "True";
return RedirectToAction("Index", "Manage");
}
else
{
Session["isLogin"] = "False";
return Json(false);
}spa

在ManageController裏面,我本來想用一個只讀變量去保存session["isLogin"]的值,所以我在Managecontroller的實例化方法中賦值:htm

private readonly bool LogOnState;對象

public ManageController(IModulesService modulesService)
{
_modulesService = modulesService;blog

if(Session["isLogin"]==null||Session["isLogin"].toString()=="false")string

{io

LogOnState=false;登錄

}變量

else if(Session["isLogin"]!=null&&Session["isLogin"].toString()=="True")

{

LogOnState=true;

}
}

以後打開頁面時就能夠斷定登陸狀態LogOnState=true,纔打開頁面

 

可是在運行到紅色那行代碼時,報錯:未將引用對象實例化

 

後來我把斷定session值的代碼放入其餘Action方法中使用就沒報此錯誤。

總結:通常狀況下經過這種方式獲取Session值不會有問題,不過應特別注意要使用session必需要page_load方法執行以創建了page對象之後纔有session的使用目標,此時先檢測Session是否爲Null再調用值是不會提示錯誤的。

 

解決問題參考文章:http://www.cnblogs.com/xyd21c/archive/2010/12/11/1903491.html

相關文章
相關標籤/搜索