ASP.net页面生命周期

问题描述:

我在我的页面中有一个ASP.net页面我有这个作为我的代码背后的文件。 首先访问页面preinit,init,load方法被调用。在postbacks 上调用preinit,init,load方法。ASP.net页面生命周期

我的问题是LoadViewstate和控制状态的事件(重载方法)不回发也

protected override void OnPreInit(EventArgs e) 
{ 
    base.OnPreInit(e); 
} 
protected override void LoadViewState(object savedState) 
{ 

    base.LoadViewState(savedState); 

} 

protected override void LoadControlState(object savedState) 
{ 
    base.LoadControlState(savedState); 
} 
protected void Page_Init(object sender, EventArgs e) 
{ 

} 
protected void Page_Load(object sender, EventArgs e) 
{ 
    // lblName.Text = ViewState["Test"].ToString(); 
} 

此方法由 .NET Framework基础主要用于射击后并 并非是直接从 使用您的代码。但是,控制开发人员 可以覆盖此方法以指定 定制服务器控件如何恢复其视图状态。有关更多信息,请参阅 ,参见ASP.NET状态管理概述。

LoadViewState方法恢复在先前SaveViewState 请求期间保存的 视图状态信息。 WebControl类 将覆盖处理ViewState,Style, 和Attributes属性的基础LoadViewState 方法。

还要注意

控制状态有时你需要 店控件状态数据,以便 控制正常工作。对于 例如,如果您已经编写了具有不同的标签, 显示不同的信息,自定义 的控制,以便 该控件按预期运行, 控制需要知道选择往返之间的选项卡 。 ViewState属性可以用于 这个用途,但是查看状态可以是 在页面级关闭 开发者,有效地打破了你的 控件。为了解决这个问题,ASP.NET页面框架 在 中公开了一个叫做控制状态的功能。

的了ControlState-属性允许您 坚持房地产信息 特定的控制,不能 关闭象ViewState这样 财产。

Asp.Net StateManagement link

如果你的控制是客户服务器控件来看看

iStateManager

而对于视图状态的完整概述 - 不得不寻找我的书签尝试

Truly understanding viewstate

ASP.NET优化此调用,并且只有在将任何自定义数据写入视图状态时才调用LoadViewState。如果在第一次调用中将某些设置为视图状态(例如ViewState [“foo”] = 42;),则LoadViewState将在下一个(及后续)回调中调用。