知识大全 ASP.NET页面事件执行顺序
Posted 事件
篇首语:常识并不是大家都知道的,常见的东西。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET页面事件执行顺序相关的知识,希望对你有一定的参考价值。
ASP.NET页面事件执行顺序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
using System;
using System Data;
using System Configuration;
using System Web;
using System Web Security;
using System Web UI;
using System Web UI WebControls;
using System Web UI WebControls WebParts;
using System Web UI HtmlControls;
public partial class _Default : Page
protected void Page_Load(object sender EventArgs e)
#region OnPreInit 第一步
protected override void OnPreInit(EventArgs e)
//检查 IsPostBack 属性来确定是不是第一次处理该页
//创建或重新创建动态控件
//动态设置主控页
//动态设置 Theme 属性
//读取或设置配置文件属性值
//注意
//如果请求是回发请求 则控件的值尚未从视图状态还原 如果在此阶段设置控件属性 则其值可能会在下一事件中被重写
base OnPreInit(e);
#endregion
#region OnInit 第二步
protected override void OnInit(EventArgs e)
//在所有控件都已初始化且已应用所有外观设置后引发 使用该事件来读取或初始化控件属性
base OnInit(e);
#endregion
#region OnInitComplete 第三步
protected override void OnInitComplete(EventArgs e)
//由 Page 对象引发 使用该事件来处理要求先完成所有初始化工作的任务
base OnInitComplete(e);
#endregion
#region PreLoad 第四步
protected override void OnPreLoad(EventArgs e)
//如果需要在 Load 事件之前对页或控件执行处理 请使用该事件
//在 Page 引发该事件后 它会为自身和所有控件加载视图状态 然后会处理 Request 实例包括的任何回发数据
base OnPreLoad(e);
#endregion
#region OnLoad 第五步
protected override void OnLoad(EventArgs e)
//Page 在 Page 上调用 OnLoad 事件方法 然后以递归方式对每个子控件执行相同操作 如此循环往复 直到加载完本页和所有控件为止
//使用 OnLoad 事件方法来设置控件中的属性并建立数据库连接
base OnLoad(e);
#endregion
#region 控件事件 第六步
protected void Button _Click(object sender EventArgs e)
//用这些事件来处理特定控件事件 如 Button 控件的 Click 事件或 TextBox 控件的 TextChanged 事件
//注意
//在回发请求中 如果页包含验证程序控件 请在执行任何处理之前检查 Page 和各个验证控件的 IsValid 属性
#endregion
#region OnLoadComplete 第七步
protected override void OnLoadComplete(EventArgs e)
//对需要加载页上的所有其他控件的任务使用该事件
base OnLoadComplete(e);
#endregion
#region OnPreRender 第八步
protected override void OnPreRender(EventArgs e)
//在该事件发生前
//Page 对象会针对每个控件和页调用 EnsureChildControls
//设置了 DataSourceID 属性的每个数据绑定控件会调用 DataBind 方法 有关更多信息 请参见下面的数据绑定控件的数据绑定事件
//页上的每个控件都会发生 PreRender 事件 使用该事件对页或其控件的内容进行最后更改
base OnPreRender(e);
#endregion
#region SaveStateComplete 第九步
protected override void OnSaveStateComplete(EventArgs e)
//在该事件发生前 已针对页和所有控件保存了 ViewState 将忽略此时对页或控件进行的任何更改
//使用该事件执行满足以下条件的任务 要求已经保存了视图状态 但未对控件进行任何更改
base OnSaveStateComplete(e);
#endregion
#region Render 第十步
//Render
//这不是事件 在处理的这个阶段 Page 对象会在每个控件上调用此方法 所有 ASP NET Web 服务器控件都有一个用于写出发送给浏览器的控件标记的 Render 方法
//如果创建自定义控件 通常要重写此方法以输出控件的标记 不过 如果自定义控件只合并标准的 ASP NET Web 服务器控件 不合并自定义标记 则不需要重写 Render 方法 有关更多信息 请参见开发自定义 ASP NET 服务器控件
//用户控件( ascx 文件)自动合并呈现 因此不需要在代码中显式呈现该控件
#endregion
#region OnUnload 第十一步
protected override void OnUnload(EventArgs e)
//该事件首先针对每个控件发生 继而针对该页发生 在控件中 使用该事件对特定控件执行最后清理 如关闭控件特定数据库连接
//对于页自身 使用该事件来执行最后清理工作 如 关闭打开的文件和数据库连接 或完成日志记录或其他请求特定任务
//注意
//在卸载阶段 页及其控件已被呈现 因此无法对响应流做进一步更改 如果尝试调用方法(如 Response Write 方法) 则该页将引发异常
base OnUnload(e);
#endregion
当页面进行回发时 如点击按钮 以上事件都会重新执行一次 这时的执行顺序为
OnPreInit
OnInit
OnInitComplete
OnPreLoad
Page_Load
OnLoad
Button_Click
OnLoadComplete
cha138/Article/program/net/201311/12399相关参考
保存及显示 下一个方法是SaveViewState不论是否是回传页面均会递归的执行以保存页面及其所有控件的ViewStateViewState基本上保存所有与定义在aspx中的原始值不同的值不管
一详细版 初始化 当页面被提交请求第一个方法永远是构造函数您可以在构造函数里面初始一些自定义属性或对象不过这时候因为页面还没有被完全初始化所以多少会有些限制特别地您需要使用Http
Asp.Net页面执行流程分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在我的上一篇文章中
知识大全 ASP.NET入门教程 6.3 为页面添加事件[1]
ASP.NET入门教程6.3为页面添加事件[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
知识大全 ASP.NET入门教程 6.3 为页面添加事件[2]
ASP.NET入门教程6.3为页面添加事件[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
知识大全 ASP.NET入门教程 6.3 为页面添加事件[4]
ASP.NET入门教程6.3为页面添加事件[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
知识大全 ASP.NET入门教程 6.3 为页面添加事件[3]
ASP.NET入门教程6.3为页面添加事件[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
ASP.NET取得页面事件的发生源控件ID 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 需求A
深层次来说这不是ASPNET的问题而是form的submit按钮就是如何设计的 当你的光标焦点进入某个表单元素的时候会激活该表单中第一个(流布局顺从左到右从上至下)type=submit的按钮(
cha138/Article/program/net/201311/14443