ViewState笔记

ViewState是Control类中的一个域,类型为System.Web.UI.StateBag,一个名称/值的对象集合。所有控件与页面通过继承Control来获取ViewState。

ViewState不能跨页面:
如果某Page包含某UserControl,则当UserControl被Page重新加载时该ViewState将不再被保存。只有当页面或控件回传自身时ViewState 才是持续的。

控件也可以将基本状态信息存储在控件状态中,但这些信息不能作为 StateBag 对象存储。

仅在为页请求执行 OnInit 方法后,它才跟踪这些属性的更改,并将更改保存到页或控件的视图状态。

当收到 OnInit 方法通知时,服务器必须执行创建和设置实例所需的任何初始化步骤。在服务器控件生存期的此阶段,控件的视图状态仍需填充。另外,在调用此方法时无法访问其他服务器控件,不论它是此控件的子级还是父级。不一定会创建其他服务器控件,也不一定能够访问它们。






posted @ 2009-08-02 21:20  David Tsu  阅读(215)  评论(1编辑  收藏  举报