session未將對象引用設定到對象的執行個體

來源:互聯網
上載者:User

使用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)
     {
             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();
         }
     }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.