读msdnASP.NET 页生命周期概述&ASP.NET 应用程序生命周期概述

文章地址:
ASP.NET 页生命周期概述ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/7949d756-1a79-464e-891f-904b1cfc7991.htm
ASP.NET 应用程序生命周期概述ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/de0d8a1c-b1bc-48e1-b246-26e32289a82f.htm

前言:
ASP.NET 页会引发诸如 Init Load PreRender 等生命周期事件。默认情况下,可以使用 Page_eventname 的命名约定将页事件绑定到方法。例如,若要为页的 Load 事件创建处理程序,可以创建名为 Page_Load 的方法。编译时,ASP.NET 将查找基于此命名约定的方法,并自动执行事件与方法之间的绑定。可以对 Page 类公开的任何事件使用 Page_eventname 的约定。

Note注意

页事件处理方法不需要任何参数。

如果您愿意,可以显式地创建处理程序。基于方法命名约定的页事件的自动绑定由名为 AutoEventWireup 的页属性控制。默认情况下,此属性设置为 true,并且 ASP.NET 将执行前面介绍的自动查找和绑定。此外,也可以将该属性 (property) 设置为 false,方法是在 @ Page 指令中添加 AutoEventWireup=false 属性 (attribute)。然后可以创建具有任意名称的方法并显式地将这些方法绑定到页事件。在 Visual Basic 中,可以使用 Handles 关键字,如下面的代码示例所示:

Visual Basic  CopyCode image复制代码
Sub MyPageLoad(sender As Object, e As EventArgs) Handles MyBase.Load

AutoEventWireup 属性的缺点是它要求页事件处理程序具有特定的、可预测的名称。这就限制了在命名事件处理程序方面的灵活性。

Note注意

如果包括页事件的显式绑定,请确保将 AutoEventWireup 属性设置为 false,以便方法不会意外地被调用两次。 


一页的生命周期
生命周期阶段包括:页请求,开始,页初始化,加载,验证,回发事件处理,呈现,卸载
对应的事件:Page_PreInitPage_Init,Page_Load,Control events,Page_PreRender,Page_Unload
详见原文
注意:
请注意有关页生命周期的以下附加信息:
1,各个 ASP.NET 服务器控件都有自己的生命周期,该生命周期与页生命周期类似。例如,在相应的页事件期间将调用控件的 Init 和 Load 方法。如果页上包含控件,则将首先调用控件的 Init 方法,然后再调用页的 Init 方法。但是,将在调用控件的 Load 方法之前先调用页的 Load 方法。
2,通过处理控件的事件,可以自定义控件的外观或内容。例如,所有的控件都将引发 Init、Load 和 Unload 事件,但是页开发人员通常不处理这些事件。而是通常处理特定于控件的事件,如 Button 控件的 Click 事件和 ListBox 控件的 SelectedIndexChanged 事件。在某些情况下,可能也需处理控件的 DataBinding 或 DataBound 事件。有关更多信息,请参见各个控件的类参考主题以及开发自定义 ASP.NET 服务器控件
3,除了处理由页引发的事件以外,还可以重写页的基类中的方法。例如,可以重写页的 InitializeCulture 方法,以便动态设置区域性信息。注意,在使用 Page_event 语法创建事件处理程序时,将隐式调用基实现,因此无需在方法中调用它。例如,无论是否创建 Page_Load 方法,始终都会调用页基类的 OnLoad 方法。但是,如果使用 override 关键字(在 Visual Basic 中为 Overrides)重写页的 OnLoad 方法,则必须显式调用基方法。例如,如果在页中重写 OnLoad 方法,则必须调用 base.Load(在 Visual Basic 中为 MyBase.Load)以运行基实现

二应用程序生命周期概述
详见原文。
原文地址:https://www.cnblogs.com/sutengcn/p/991980.html