标签:arraylist copyto csharp 基于 ble array soft 序列 禁用
①ViewState是基于webform的
②在web窗体控件属性处设置runat = "server",这个控件会被附加一个隐藏的属性_ViewState,_ViewState存放了所有控件在ViewState中的状态值。
③页面会在输出时,自动添加下面的隐藏域:
value处的值只是base64编码并不是加密。
④ViewState是一个名称/值的对象集合。
⑤当请求某个页面时,ASP.NET会把所有控件的状态序列化成一个字符串,然后作为窗体的隐藏属性送到客户端,当客户端将页面回传时,ASP.NET分析回传的窗体属性,并赋给控件对应的值。(恢复现场)
⑥ViewState不能存储所有的数据类型,仅支持:String、Integer、Boolean、Array、ArrayList、Hashtable
①浏览器请求Default.aspx页面。
②在服务器端 发现创建的ViewState 这个时候 会自动创建一个名字叫做__VIEWSTATE(双下滑线 全部是大写)的隐藏域 其隐藏域的值经过base64加密以后返回到浏览器端这一加密过程在页面生命周期的SaveState事件中的SaveAllState方法中完成。
③当浏览器提交表单的时候 将__VIEWSTATE的隐藏域也一起提交到服务端 这个时候 页面生命周期的ReadState事件的ReadAllState方法会将加密后的值反base64解密 最后将值赋值给名字叫做xx的ViewState。
④最后来操作ViewState中的值。