2011-05-27 83 views
0

在Page1.aspx.cs
我在Page2.aspx使用Session["var1"] = "TestCheck";Session變量原來空

現在,
此相同的會話變量Session["var1"]原來null

string var1 = Session["var1"].ToString(); 

爲使我錯了:

Object reference not set to an instance of an object

謝謝s SC

+1

Page2.aspx是否始終在Page1.aspx後加載?您是否在頁面加載時將var1放入Session中?你能提供更多細節嗎? – 2011-05-27 19:32:02

+1

有關常見錯誤,請參閱http://carso-owen.blogspot.com/2007/02/enablesessionstate-aspnet-most-common.html。 – 2011-05-27 19:41:37

+0

該代碼沒有任何內在錯誤。您必須在設置之前嘗試訪問Session變量,或者您的會話狀態出現問題。 – 2011-05-28 04:05:16

回答

0

只是爲了介紹基礎知識: Page1是第一個被訪問,並且在與page2相同的瀏覽器窗口中? 會話變量在page_load事件之前無法訪問? web.config設置爲支持會話狀態?

+0

Page1首先被訪問,然後在同一個瀏覽器中,然後是一個類文件,然後page2.aspx。 – Smitha 2011-05-27 19:42:38

+0

您在頁面生命週期的哪個階段訪問會話? – Jay 2011-05-27 19:46:15

+0

在page_load中 – Smitha 2011-05-27 19:54:00

0

如果瀏覽器未啓用cookie或會話已過期,則可能發生這種情況。

請確保您沒有禁用Cookie,並且您的會話過期未設置得太低。