回答
當頁面中的ViewState變得非常大時,可能會出現問題,因爲某些防火牆和代理會阻止訪問包含巨大ViewState大小的頁面。爲此,ASP.NET引入了ViewState分塊機制。因此,ASP.NET使用web.config部分中的MaxPageStateFieldLength屬性將ViewState的單個隱藏字段拆分爲幾個。
當MaxPageStateFieldLength屬性被設置爲正數,發送到客戶端瀏覽器的視圖狀態被分成多個隱藏字段。
設置MaxPageStateFieldLength屬性爲負數(默認值)指示的視圖狀態字段不應被分離成塊。將MaxPageStateFieldLength設置爲較小的數字可能會導致較差的性能。
樣品的ViewState前:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"value="/wEPDwUKLTk2Njk3OTQxNg9kFgICAw9kFgICCQ88KwANAGQYAQUJR3Jp
ZFZpZXcxD2dk4sjERFfnDXV/hMFGAL10HQUnZbk=" />
在web.config中然後設置:
<pages maxPageStateFieldLength="40">
樣品的ViewState後:
<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT"value="3" />
<input type="hidden" name="__VIEWSTATE"
id="__VIEWSTATE" value="/wEPDwUKLTk2Njk3OTQxNg9kFgICAw9kFgICCQ88" />
<input type="hidden" name="__VIEWSTATE1"
id="__VIEWSTATE1" value="KwANAGQYAQUJR3JpZFZpZXcxD2dk4sjERFfnDXV/" />
<input type="hidden" name="__VIEWSTATE2"
id="__VIEWSTATE2" value="hMFGAL10HQUnZbk=" />
希望能幫助你!
從What's New in ASP.NET State Management - MSDN
如果視圖狀態的數據量變得太大,視圖狀態 組塊將自動分割數據成塊,並把 數據劃分爲多個隱藏的表單字段。
爲什麼我們需要ViewState分塊?
的exerpt另一個重要的考慮是,如果數據在 隱藏字段量變大,有些代理服務器和防火牆會阻止 訪問包含它們的頁面。因爲最大量可以 與不同防火牆和代理的實現而改變,大隱 字段可引起零星問題。爲幫助避免此問題,如果存儲在ViewState屬性中的數據量超過MaxPageStateFieldLength屬性中指定的值 ,則頁面 會將視圖狀態拆分爲多個隱藏字段,以將大小減小到 以下的每個單獨字段的大小防火牆拒絕。
@Downvoter關心評論? – Habib
- 1. 在asp.net中的ViewState?
- 2. ASP.net中的ViewState
- 3. 的ViewState在asp.net
- 4. ASP.net ViewState
- 5. ASP.NET在global.asax中獲取viewstate
- 6. 在ASP.net中禁用ViewState
- 7. 在asp.net中啓用viewstate?
- 8. GridView中的ViewState ASP.Net
- 9. Asp.net ViewState說明
- 10. Asp.net MVC與ViewState?
- 11. ASP.NET Clienscript和Viewstate
- 12. ASP.NET ViewState錯誤?
- 13. asp.net viewstate安全
- 14. 在asp.net中分塊的FileUpload
- 15. ASP.Net中的ViewState加密
- 16. Viewstate和控件在ASP.NET
- 17. Accress父頁的ViewState在ASP.NET
- 18. 如何在asp.net中維護PlaceHolder的ViewState
- 19. 如何在asp.net中維護jqxGrid的viewstate?
- 20. ASP.NET:關於在ViewState中存儲對象
- 21. ViewState等於null asp.net
- 22. asp.net mvc ViewState實現
- 23. Keynote KITE和ASP.NET Viewstate
- 24. ASP.Net 1.1 Viewstate安全
- 25. ASP.Net RadioButton丟失ViewState
- 26. ASP.NET Viewstate驗證 - ASP.NET 1.1與ASP.NET 3.5
- 27. 我可以使用什麼工具來分析Asp.Net中的ViewState?
- 28. ViewState在HttpHandler中?
- 29. 一倍ViewState字段ASP.NET
- 30. asp.net viewstate加密問題
很好的解釋,謝謝 – Sujit
的EVENTVALIDATION隱藏字段也會變大。這也可能是塊? –
請注意元素坐落在web.config中元素中。 –
woohoo