“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){strIP = Request.UserHostAddress.ToString();strUserID = Session["userid"].ToString();strMessage = this.tbMessage.Text;strPostID = Request["postid"].ToString();strReplyTime = DateTime.Now.ToString();}改正後的程式碼:protected void Page_Load(object sender, EventArgs e){if (Session["userid"] != null && Session["postid"] != null){strIP = Request.UserHostAddress.ToString();strUserID = Session["userid"].ToString();strMessage = this.tbMessage.Text;strPostID = Request["postid"].ToString();strReplyTime = DateTime.Now.ToString();}}
“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){strIP = Request.UserHostAddress.ToString();strUserID = Session["userid"].ToString();strMessage = this.tbMessage.Text;strPostID = Request["postid"].ToString();strReplyTime = DateTime.Now.ToString();}改正後的程式碼:protected void Page_Load(object sender, EventArgs e){if (Session["userid"] != null && Session["postid"] != null){strIP = Request.UserHostAddress.ToString();strUserID = Session["userid"].ToString();strMessage = this.tbMessage.Text;strPostID = Request["postid"].ToString();strReplyTime = DateTime.Now.ToString();}}