(生成原理)1.在页面类对象,执行PR方法的时候,先创建了控件树,


然后通过执行LoadState方法,将请求报文中的名字为 __VIEWSTATE的值,


然后反base64编码,进行反序列化,最终还原成集合,


然后将其中属于程序员自己的添加到ViewState 里的键值对 还原到


页面对象的ViewState属性中。然后才执行的Page_Load方法。


在执行SaveState(将所有的服务器端控件的属性及值保存到ViewState属性中)


最后在页面生成html代码的时候,遍历ViewState中的键值集合,


然后将里面序列化,在将序列化后的字符串使用base64编码,最后生成


一个名为 __ViewState的隐藏域,在页面生成整个html代码的时候,作为


一个隐藏域添加到页面中

 

(点击提交按钮)2.A.此时在LoadState方法 分析请求报文里名为__VIewState


的隐藏域,将里面的字符串成反base64编码,然后反序列化还原成集合对象;


将其中用户添加的属性存入对象的ViewState属性值中。B.同时还将服务器端控件

的属性值从隐藏域中还原