ASP.NET 页面生命周期序列

Pri*_*tam -2 .net c# asp.net

如果我的页面上有用户控制,那么加载顺序是什么。

页面或用户控件事件会先加载吗?

我也很困惑页面生命周期在 ASP.NET 中是如何工作的?对此有什么最简单的解释吗?如果有任何修改在线资源的 ASP.NET 快速概念,也请告诉我。

Pri*_*tam 5

我刚刚做了一个摘录::

预初始化

在启动阶段完成之后和初始化阶段开始之前引发。

将此用于

  • 检查 IsPostback、IsCallback 和 IsCrossPagePostBack 属性。
  • 创建或重新创建动态控件。
  • 动态设置母版页。
  • 动态设置 Theme 属性。
  • 读取或设置配置文件属性值。

不要使用

  • 如果请求是回发,则控件的值尚未从视图状态恢复。
  • 如果在此阶段设置控件属性,它的值可能会在下一个事件中被覆盖。

在里面

在初始化所有控件并应用任何外观设置后引发。

将此用于

  • 单个控件的 Init 事件发生在页面的 Init 事件之前。
  • 使用此事件读取或初始化控件属性。

初始化完成

在页面初始化阶段结束时引发。此处开启了对视图状态更改的跟踪。

将此用于

  • 使用此事件可更改要确保在下一次回发后保留的视图状态。

预加载

在页面加载自身和所有控件的视图状态后引发。

加载

单个控件的 Load 事件发生在页面的 Load 事件之后。

将此用于

  • 使用 OnLoad 事件方法在控件中设置属性并建立数据库连接。

控制事件

使用这些事件来处理特定的控制事件。

加载完成

在事件处理阶段结束时引发。

将此用于

  • 将此事件用于需要加载页面上所有其他控件的任务。

预渲染

单个控件的 PreRender 事件发生在页面的 PreRender 事件之后。

将此用于 - 使用该事件在呈现阶段开始之前对页面或其控件的内容进行最终更改。

预渲染完成

在设置了 DataSourceID 属性的每个数据绑定控件调用其 DataBind 方法后引发。

保存状态完成

在为页面和所有控件保存视图状态和控件状态后引发。

使成为

页面和控件的呈现在这里发生。

卸下

为每个控件引发,然后为页面引发。

将此用于

  • 进行最终清理,例如关闭打开的文件和数据库连接,或完成日志记录。

这里是资源来源。 http://msdn.microsoft.com/en-us/library/vstudio/ms178472(v=vs.100).aspx