假設我有2頁'A'和'B'。我設置的「A」一個會話變量,即在Page_Load中的功能被檢查頁面「B」使用:會話變量錯誤asp.net
if (!string.IsNullOrEmpty(Session["x"].ToString()))
{
}
和適當的行動是基於會話變量的值來進行,但如果我打開頁面「 B'首先,它給出錯誤:
Object reference not set to an instance of an object.
如何預先設置此對象的實例本身?
假設我有2頁'A'和'B'。我設置的「A」一個會話變量,即在Page_Load中的功能被檢查頁面「B」使用:會話變量錯誤asp.net
if (!string.IsNullOrEmpty(Session["x"].ToString()))
{
}
和適當的行動是基於會話變量的值來進行,但如果我打開頁面「 B'首先,它給出錯誤:
Object reference not set to an instance of an object.
如何預先設置此對象的實例本身?
在IsNullOrEmpty
進入操作並且傳遞給IsNullOrEmpty
的參數被評估之前,您會收到異常。如果Session["x"]
爲空,您將通過Session["x"]
調用ToString()
來獲得例外。所以在撥打IsNullOrEmpty
之前你會得到異常。
變化
if (!string.IsNullOrEmpty(Session["x"].ToString())) {}
To
if(Session["x"] != null && Session["x"].ToString() != string.Empty) {}
您正在使用Session["x"].ToString()
時SessionX
爲空,這就是爲什麼你得到null exception
所以,你應該檢查Session["x"]
不應該null
if(Session["x"] != null)
{
// your code
}