ViewState原理

时间:2023-11-23 13:52:50

1、IsPostBack原理

1.1 所有的服务端控件,都必须放在runat="server"的表单里面,runat="server"的表单会生成__VIEWSTATE隐藏域,服务端就可以根据_VIEWSTATE隐藏域设值,如果有__VIEWSTATE隐藏域,则IsPostBack就是true,否则就是false.

2、__VIEWSTATE隐藏域作用

2.1 储存服务端控件的值

2.3 去掉__VIEWSTATE方法:EnableViewState="false"//去掉后,__VIEWSTATE隐藏域中只存放控件的状态码。

2.4 ViewState可以保存用户数据:先将数据序列化,再进行base64编码,最后存放到表单的__VIEWSTATE隐藏域中,这时候  __VIEWSTATE隐藏域中就保存两部分的数据,一部分是控件的状态码,一部分就是用户储存的数据。

ViewState["mid"]=2;//注:一个对象也可以保存到ViewState中,但是必须指定它允许序列化。

ViewState原理