日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

禁用viewstate怎么还保存状态?

發(fā)布時間:2025/3/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 禁用viewstate怎么还保存状态? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

下列服務器控件不能禁止ViewState?

Textbox?
Checkbox?
Checkbox?List?
RadioButtonList?
上面控件的狀態(tài)通過IPostBackEventHandler?和?IPostBackDataHandler接口處理,而不是ViewState的機制,所以EnableViewState沒有效果。

?

?

舉一個例子

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>//服務器控件

<input type="text" id="TextBox2"? runat="server"? />//HTML控件,但是加了服務器標識

<input type="text" id="TextBox3"? />//HTML控件

<asp:Button ID="Button1" runat="server" Text="Button" />

?

點擊按鈕,

?

發(fā)現(xiàn)第一個服務器控件,第二個加了服務器標識的HTML控件,頁面回傳時值沒有變化,而第三個純HTML控件值被清空,即回到初始值,這種情況使我們早就料到的,于是我們繼續(xù)嘗試著,對服務器控件試用EnableViewState="False",再來看結(jié)果

?

點擊按鈕,

?

這個結(jié)果真是讓我們失望,很明顯我已經(jīng)禁用ViewState,理應該是三個控件值都為空,即都回到初始值,考察資料得到

ViewState 是不負責存儲諸如 TextBox等這些繼承自 IPostBackDataHandler 接口的控件的值的更改的。

簡單的說繼承自 IPostBackDataHandler 接口的控件的值由控件自身控制保存,而與EnableViewState=false沒有關系,前臺頁面__VIEWSTATE的值是控件自身控制寫入_VIEWSTATE的.具體見http://msdn.microsoft.com/zh-cn/library/system.web.ui.ipostbackdatahandler.aspx.

大概如下圖?

?

在微軟的幫助文檔中得知(http://support.microsoft.com/?id=316813)

?

也就是說通常情況下類似TextBox發(fā)送到服務器的屬性由 IPostBackDataHandler 界面來處理,不管VIEWSTATE有沒有禁止,它都會在回傳時往里面填值,當然這個值是來自HTTP 提交頭里

?

轉(zhuǎn)載于:https://www.cnblogs.com/jhxk/articles/2529228.html

總結(jié)

以上是生活随笔為你收集整理的禁用viewstate怎么还保存状态?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。