What events are fired as part of the ASP.NET System.Web.UI.Page lifecycle?

本文深入解析了ASP.NET页面生命周期中的关键事件,包括从构造函数到析构函数的整个流程,详细阐述了每个事件的作用及应用场景,如PreInit、Init、Load等,并提供了实例说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Reference: http://www.justinrhinesmith.com/blog/2008/05/04/what-events-are-fired-as-part-of-the-aspnet-systemwebuipage-lifecycle/ 这个博客里有三篇自己写的.NET理解,可以看。

http://msdn.microsoft.com/en-us/library/ms972976.aspx 这个配有例子,理解透彻。


Figure 1. ASP.NET Page Handling

Figure 2. Events in the Page Life Cycle


Figure 4. Events and View State

Question

From constructor to destructor (taking into consideration Dispose() and the concept of non-deterministic finalization), what events are fired as part of the ASP.NET System.Web.UI.Page lifecycle. Why are they important? What interesting things can you do at each?
 
Answer

1. PreInit Event
Called at the very beginning of page initialization, this event has several practical uses in your code behind pages.  A few of these uses are: Checking the IsPostBack property, dynamically setting a master page or theme property, dynamically creating controls, and reading or setting property values.  If you were so inclined, you could set a master page dynamically in the PreInit event as such:
2. Init Event
Called after the PreInit event and after all controls have been initialized and any skin settings have been applied, this event is very useful for initializing control properties before the page loads.
3. InitComplete Event
Like the name implies, this event is called after the Init event is completed.  I’m at a bit of a loss for thinking up useful and/or interesting things to do with this event, but if there were any tasks that needed to be completed once the controls were initialized, this would be the place to do it.
4. PreLoad Event
This event is called immediately before the Page.Load event and after all postback data has been processed.
5. Load Event
Probably the most familiar since it comes for free whenever you switch to the code-behind (or hit F7) on an aspx page in Visual Studio.  This event is useful for setting control properties and establishing database connections (both of which could be used to populate a drop-down from the database, for example).
6. LoadComplete Event
What else could possibly follow up the Load event?  This event is useful for doing any processing that requires that all controls on the page first be loaded.
7. PreRender Event
This event is useful for making any final changes to the page or the controls before the output is rendered to the browser.
8. PreRenderComplete Event
Called after PreRender is completed.  This is the last event to be called before the viewstate is saved.
9. SaveStateComplete Event
Called once the viewstate has been saved.  Use this for any processing that requires the viewstate to be saved but that doesn’t affect the rendering of the controls.
10. Render
While not technically an event, this method gets called for every control on the page.  When creating a custom control (that requires custom markup), you could override this method to provide your own markup.
11. Unload Event
Use this event to do any final cleanup work on the page.  Any controls on the page will also have an unload event that can be used to do cleanup on the controls themselves.
12. Disposed Event
This is the last event called for a control when it is released from memory on the server.  The is the last stage of the ASP.NET lifecycle when a page is requested.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值