session未將物件引用設定到物件的例項

2021-04-12 22:45:15 字數 1024 閱讀 7956

使用session的方法應該說很簡單,在乙個頁面賦值,另乙個頁面呼叫就可以了。

自己在編制程式時犯了乙個大錯誤,即語句的順序搞倒了,如:

session["username"] = namebox.text;

response.redirect("shuru.aspx");

先賦值再轉頁,而我剛開始是反過來寫了,那 麼session["username"] 的值始終為空了。

查了好多資料,終於把問題給解決了~~~吼吼...拿來跟大家分享^_^

乙個重要的知識點:

「system.nullreferenceexception: 未將物件引用設定到物件的例項」問題可能原因如下:

1、viewstate 物件為null。

2、dateset 空。

3、sql語句或datebase的原因導致datareader空。

4、宣告字串變數時未賦空值就應用變數。

5、未用new初始化物件。

6、session物件為空。

7、對控制項賦文字值時,值不存在。

8、使用request.querystring()時,所獲取的物件不存在,或在值為空時未賦初始值。

9、使用findcontrol時,控制項不存在卻沒有做預處理。

10、重複定義造成未將物件引用設定到物件的例項錯誤.

我的錯誤是第六種,session物件為空.

錯誤原因:在呼叫 session["userid"].tostring()   前應先檢查   session["userid"]    物件是否為   null  

在未登入的情況下, session["userid"]  的值是null,直接用tostring()方法肯定會出錯的...

我原來的**:

protected void page_load(object sender, eventargs e)

改正後的**:

protected void page_load(object sender, eventargs e)

}

未將物件引用設定到物件的例項

今天又遇到了未處理nullreferenceexception未將物件引用設定到物件的例項的錯誤.在google上搜了一下,有以下原因可造成該錯誤的發生.1 viewstate 物件為null。2 dateset 空。3 sql語句或datebase的原因導致datareader空。4 宣告字串變數...

未將物件引用設定到物件的例項

一 網路上的一般說法 1 viewstate 物件為null。2 dateset 空。3 sql語句或datebase的原因導致datareader空。4 宣告字串變數時未賦空值就應用變數。5 未用new初始化物件。6 session物件為空。7 對控制項賦文字值時,值不存在。8 使用request...

未將物件引用設定到物件的例項

物件引用沒有設定到物件例項的原因很多 1 如下 public intrevise refint numline,refint numcircle,refint numtext,system.io.streamwriter str w,list string record,extextend,line...