同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁 優(yōu)化推廣 ASP.net View State

ASP.net View State

來源: | 時間:2013/1/5 22:21:14 |

什么是ViewState?
對于ViewState,我們有許多的誤解。Viewstate不保存控件,而是去保存form中對應(yīng)ID控件的值,特別是那些由于他們沒有和form一起post 而在頁面回傳時會丟失的控件的值。viewstate一般不要用來保存session或在頁面間傳輸數(shù)據(jù)。在頁面回傳后,viewstate不能用來動態(tài)地創(chuàng)建頁面的控件。他在頁面回傳之后不回復(fù)控件的值。甚至一個控件的viewstate被禁止了,在頁面回傳后,控件的值仍然不會丟失,比如textbox,dropdownlist控件。那什么是viewstate呢?viewstate保存最后一次在服務(wù)器上處理的頁面狀態(tài)。他不能保存那些被動態(tài)改變的控件的值。

viewstate是如何工作的?
所有的服務(wù)器端控件都有一個ViewState屬性。如果他是enable的,這個控件的viewstate就起作用了。那viewstate是在哪里,是如何存儲的呢?當(dāng)一個頁面第一次加載,所有的控件被序列化到viewstate,保存在一個叫_ViewState的隱藏form字段里。這個隱藏字段對應(yīng)服務(wù)器端的ViewState對象。頁面的ViewState使用System.Web.UI.StateBag對象存儲鍵值對。當(dāng)一個回傳發(fā)生,頁面反序列化ViewState然后恢復(fù)所有的控件。頁面中保存控件的ViewState以base 64 編碼格式存儲成name - value。當(dāng)一個頁面重新加載,會調(diào)用兩個和ViewState相關(guān)的方法, LoadViewState 和SaveViewState。下面是我的一個頁面中的_ViewState隱藏字段。

<input type="hidden" name="__VIEWSTATE" value="dNrATo45Tm5QzQ7Oz8AblWpxPjE9MMl0Aq765QnCmP2TQ==" />

啟用和禁止ViewState
在默認(rèn)情況下,所有服務(wù)器控件的viewstate開啟狀態(tài),通過以及幾種途徑來禁止。
1.頁面級別
2.控件級別
3.應(yīng)用程序級別
4.機(jī)器級別
頁面級別禁止的方法是在頁面的開始寫入

<%Page EnableViewState ="False" %> 
or 
<%Page EnableViewState ="True" %>

控件級別是

<asp:TextBox id="txtCode" runat="server” EnableViewState="false" />
or
<asp:TextBox id="txtCode" runat="server" EnableViewState="true" />

程序級別是在web.config中

服務(wù)熱線

153 8323 9821

功能和特性

價(jià)格和優(yōu)惠

網(wǎng)站和維護(hù)

推廣和優(yōu)化

微信服務(wù)號