ViewState原理

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中,但是必须指定它允许序列化。

    

posted @ 2014-04-21 16:52  蜡笔小新111  阅读(462)  评论(0编辑  收藏  举报