`
daniel.wuz
  • 浏览: 99915 次
  • 性别: Icon_minigender_1
  • 来自: 纽约
最近访客 更多访客>>
社区版块
存档分类

Asp页面加载生命周期

阅读更多
为了更好的理解Asp页面加载时的过程,我画了一个大概的流程图(详见附件),参考O'Reilly公司出版的Programming Asp.Net第二版。
在页面加载期间,生命周期包括以下步骤:
1.调用页面及页面上控件的构造函数。

2.确定是第一次加载啊,还是自回传啊,还是跨页回传。

3.调用预初始化方法,
protected override void OnPreInit(EventArgs e)
,因为该方法在加载个性化主题前调用,所以可以对服务器控件外观等做设置。参考:
http://blog.csdn.net/itfly8/archive/2007/12/11/1930032.aspx

4.加载个性化主题

5.初始化。在此阶段程序构建控件树,这个阶段调用
protected override void OnInit(EventArgs e)
protected override void OnInitComplete(EventArgs e)
可以初始化任何值。

6.此时回传数据还未加载到控件中,根据第2步中访问模式的不同,会有两个不同的加载方式。
(1)如果页面为第一次加载,服务器直接调用预加载方法
protected override void OnPreLoad(EventArgs e)

(2)如果是回传模式,则加载页面和控件状态,同时,加载视图状态,即把页面中缓存的数据和控件捆绑到一起,然后通过Post方法来处理服务器上的数据,通过LoadPostData方法实现对需要回传的视图的更新,然后执行(1)中的预加载。

7.加载阶段执行用户的代码,显示客户端数据,层级加载控件树中的控件。此阶段可以通过
protected override void OnLoad(EventArgs e)
方法进行修改。

7.1中间调用
protected void Page_Load(object sender, EventArgs e)
方法

8.页面加载后,也会根据2中的回传模式,由不同分支处理。
(1)如果第一次加载,则直接调用
protected override void OnLoadComplete(EventArgs e)
完成加载
(2)如果是回传模式,并且当前状态较先前状态发生变化,会引起RaiseChangedEvents事件,客户端通过
protected override void RaisePostBackEvent(IPostBackEventHandler sourceControl, string eventArgument)
方法对该事件进行响应,然后执行(1)步调用加载完成方法。

9.预呈现阶段,这是呈现前最后一个可以对页面进行修改的阶段,调用
protected override void OnPreRender(EventArgs e)
方法进行处理。

10.保存状态。个性化,控件,页面状态及视图都会保存。

11.呈现阶段,将页面及服务器控件输出为HTML到前端展现,可以通过
protected override void Render(HtmlTextWriter writer)
方法进行重写,如有必要,可通过调用
protected override void CreateChildControls()
方法在控件树内创建并初始化控件。

12.卸载。此阶段完成最终清理工作,如释放数据库连接等。可通过
protected override void OnUnload(EventArgs e)
方法来加入自己的清理工作。







  • 大小: 67.1 KB
分享到:
评论

相关推荐

    ASP.NET的网页代码模型及生命周期

    在传统的ASP开发中,ASP的事件都是按照网页的顺序来处理的,一般情况下,ASP页面的事件都是从上到下处理事件,可以说ASP的开发是一个线性的处理模型。在用户的浏览操作中,每一次用户的操作都会导致页面重新被发送到...

    asp.net页面生命周期

    学习.net的时候很容易被页面的加载机制生命周期这些东西迷惑,现在给大家介绍一点儿关于页面生命周期的资料,希望对你会有帮助!

    ASP.NET Page生命周期详解

    (1)请求页面:页请求发生在页生命周期开始之前。 (2)开始:在开始阶段,将设置页属性,如Request和Response。在此阶段,页还将确定请求是回发请求还是新请求,并设置IsPostBack属性。 (3)初始化页面:页面初始...

    Asp.Net WebForm生命周期的详解

    一.Asp.Net页面生命周期的概念  当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端IIS)发送一个request请求,服务器会判断发送过来的请求页面,当完全识别 TTP页面处理程序类后,ASP.NET运行时...

    ASP.NET服务器控件的生命周期分析

    本文实例分析了ASP.NET服务器控件的生命周期。分享给大家供大家参考。具体如下: (1)初始化—-在此阶段中,主要完成两项工作:一、初始化在传入Web请求生命周期内所需的设置;二、跟踪视图状态。首先,页面框架...

    ASP.NET Web页生命周期和执行的方法介绍

    执行的各个阶段 页面生命周期中的第一个阶段是初始化。这个阶段的标志是 Init 事件。在成功创建页面的控件树后,将对应用程序触发此事件。换句话说,当 Init 事件发生时,.aspx 源文件中静态声明的所有控件都已实例...

    讨论html与javascript在浏览器中的加载顺序问题

    今天的任务是把asp.net ajax中客户端页面生命周期那一章研究完。然而,因为这一章的内容使我产生了一些迷惑。这些疑惑在书中都没有只字提及。 一、html页面的详细加载过程是什么呢?页面元素在加载时的优先级是什么...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    5.1.2 应用程序生命周期 5.1.3 应用程序更新 5.1.4 应用程序目录结构 5.2 global.asax应用程序文件 5.2.1 应用程序事件 5.2.2 演示应用程序事件 5.3 ASP.NET配置 5.3.1 machine.config文件 5.3.2 ...

    ASP.NET3.5从入门到精通

    第 4 章 ASP.NET 的网页代码模型及生命周期 4.1 ASP.NET 的网页代码模型 4.1.1 创建ASP.NET 网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET 网站和ASP.NET 应用...

    ASP.NET 3.5 开发大全

    第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...

    ASP.NET 3.5 开发大全word课件

    第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...

    ASP.NET 3.5 开发大全11-15

    第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...

    ASP.NET 3.5 开发大全1-5

    第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...

    ASP.NET4高级程序设计(第4版) 3/3

    5.1.2 应用程序生命周期 138 5.1.3 应用程序更新 139 5.1.4 应用程序目录结构 139 5.2 global.asax应用程序文件 140 5.2.1 应用程序事件 141 5.2.2 演示应用程序事件 143 5.3 ASP.NET配置 144 5.3.1 ...

    关于Asp.net页面Page_Load被执行两次的问题分享

    在写aspx的时候,不注意把AutoEventWireup=”false”去掉,你可能会死得很难看, Page_load部分会在一次页面加载的时候执行两次哦!...当你将这个属性设置为true时,Asp.Net将页面的生命周期事件与一些

    ASP.net实例光盘源码:

    Sample_02_03/Default.aspx 页面的生命周期 第3章(/ch03/) Sample_03_01/ClientInfo.aspx 获取客户端信息 Sample_03_01/Dir.aspx 目的 Sample_03_01/DirPage.aspx 重定向的目的页面 ...

    ASPNET35开发大全第一章

    第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别...

    JavaWeb编程技术沈泽刚版教材课后习题答案

    其中生命周期方法有init()、service()和destroy()等3个。 3. 答:发生下列事件,浏览器向服务器发出请求。 (1)用户点击了HTML页面中的超链接; (2)用户在HTML页面中填写一个表单并点击提交按钮; (3)用户在...

Global site tag (gtag.js) - Google Analytics