我们已经创建了一个控件,需要通过Control类的ViewState属性来持久保存数据。我们的类子类严格控制以获取对ViewState属性的访问(它在Page对象上受到保护)。我们将控件添加到OnInit中的Page.Controls,然后尝试在OnPreLoad中设置ViewState属性。
当我们解码并检查页面的ViewState时,我们的值尚未被写出,因此无法在以后检索。
有谁知道如何让我们的控制权参与ViewState流程?
答案 0 :(得分:1)
问题是直接将控件添加到页面。不幸的是,控件层次结构太高,无法参与Forms ViewState Handling。如果将控件添加到某个实际的ASPNet Form的Controls集合中,那么它将成功参与LoadViewStateRecursive和SaveViewStateRecursive。
答案 1 :(得分:0)
尝试在OnInit中创建控件,然后在OnLoad期间将其添加到Page.Controls。
答案 2 :(得分:0)
ViewIn在OnInit之后,但在OnLoad之前不会加载。
以下是对我之前的一个问题的回应中发布的页面生命周期(GregMac)的概述。