關於Asp.net 頁面動態載入使用者控制項,出現“未能載入檢視狀態”的原因__.net

來源:互聯網
上載者:User
無標題頁abc

 我們先瞭解一下“視圖的狀態”,即ViewState,在我們查看Asp.net產生的網頁代碼中,我們可以看見有如下的代碼,就是ViewState的存在形式 < input  type ="hidden"  name ="__VIEWSTATE"  value ="dDwyNDMzNDYzMjI7dDw7bDxpPDM+Oz47bDx0PDtsPG。。。

凡是能夠被序列化〔序列化,把對象產生為編碼的方式儲存〕的對象,則都可以儲存在viewstate中。一般的viewstate是沒有加密的是Base64編碼,也可以在web.config配置加密方式,具體的可查詢相關資料。
viewstate的在Asp.net作用是將控制項的狀態儲存,在下次Post給伺服器,伺服器進行恢複控制項的狀態。(控制項的狀態包括:值和事件。)

瞭解了viewstate是利用post來給伺服器的過程,在編寫Asp.net的時候就可以尋找一些“未能載入檢視狀態”錯誤來。
錯誤1:在伺服器控制項綁定狀態後,又改變控制項狀態 mygrid.EditItemIndex  =   5 ;
            mygrid.DataSource  =  dt;
            mygrid.DataBind();
            mygrid.EditItemIndex  =   3 ;//這裡會造成錯誤


錯誤2,修改伺服器控制項ID
在aspx或者ascx頁面中已經定義了伺服器控制項ID,卻在cs檔案中重新定義控制項新ID,

錯誤3,如果確實莫名奇妙出現錯誤,可嘗試手工加入一些控制項,再試試。
WebPart.Controls.Add( new  Label()); // it is 
     WebPart.Controls.Add(RightDefine1);

原文地址:http://www.cnblogs.com/king_astar/archive/2005/06/01/165763.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.