關於在.net中禁用ViewState

來源:互聯網
上載者:User

首先說一下什麼是ViewState。

   簡單的說它就是ASP.NET中用來儲存頁面中資訊以及控制項值(上次返回的資訊)的一種機制。用戶端需要和伺服器端進行互動的時候,伺服器端在返回處理後的值給用戶端之後,是沒有儲存處理後的值得。所以,有些必要的值都會儲存到ViewState中。

   需要在回傳過程中保留的頁面的目前狀態的值將被序列化為Base64編碼的字串,並輸出到ViewState的隱藏欄位中。通過自訂的PageStatePersiste類以儲存頁資料。

   預設情況下ASP.NET是啟用ViewState的,這樣在頁面中會產生一大坨隱藏欄位。但是,只有需要互動的頁面中,也就是需要postback處理的頁面才可能會用到它。所有,如果這個控制項只是用來展示資料,而不需要提交資料的話,我們就可以將該控制項的ViewState禁用掉。

  禁用viewState的方式:

    1.頁面整體禁用ViewState:在頂部Page中EnableViewState="False"

    2.指定控制項禁用ViewState:在控制項的enableViewState="False"

   頁面禁用ViewState後,並沒有完全去掉ViewState,只要viewState不是很大就可以了。如果頁面中不能有一點兒ViewState,那麼那麼頁面中不能有Runat=server的form。如果頁面中沒有表單元素,把form完全去掉就可以。但是注意:button等伺服器控制項沒有放在Runat=server的form中,是不能使用滴。

 

聯繫我們

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