您的位置:首页 > 编程语言 > ASP

详细展示Asp.net页面的生命周期[转]

2009-07-28 20:33 387 查看
对于Asp.net页面层开发无论是写页面还是写控件,我觉得都可以用一句话描述:"Do the right thing at the right time in the right place."这是07年底的一篇东西,还是有点价值整理出来与大家共享。
本文从两个粒度对Asp.net生命周期做了展示,一是通过记录页面事件的触发顺序看请求的处理流程,一是通过Reflector看Page类内部对请求处理的实现,为了清晰我清理掉了ETW相关的代码保留了一个简化却足可以说明问题的流程骨架;

本文覆盖以下内容:

页面事件的触发顺序展示
清理掉ETW代码后的,Page类内部对请求处理的实现
MSDN关于Asp.net生命周期非常重要的四个表格
演示源代码下载

1using System;
2using System.Configuration;
3using System.Data;
4using System.Web;
5using System.Web.Security;
6using System.Web.UI;
7using System.Web.UI.HtmlControls;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10
11public partial class _Default : System.Web.UI.Page
12
69
70

运行结果:

Page_PreInit

Page_Init

Page_InitComplete

Page_PreLoad

Page_Load

Page_LoadComplete

Page_PreRender

Page_SaveStateComplete

点击页面的Button后的输出:

Page_PreInit

Page_Init

Page_InitComplete

Page_PreLoad

Page_Load

Button事件触发!

Page_LoadComplete

Page_PreRender

Page_SaveStateComplete
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: