.Net_asp.net页面的生命周期
页面的生命周期
页面pr方法内部处理过程:
第一步:创建页面控件树,根据 Form里面的请求内容(ViewState)确定是否是IsPostBack
第二步:页面初始化之前
this.PerformPreInit();
private void PerformPreInit()
{
this.OnPreInit(EventArgs.Empty);//一般在这里面设置主题,加载模板由
this.InitializeThemes();//初始化主题,如果已经设置主题直接退出,如果没有设置根据配置来。
this.ApplyMasterPage();//设置模板页,如果模板页已经存在(如在OnInit代码里面设置了新的模板页就不走原来的了)就结束
this._preInitWorkComplete = true;
}
第三步:
OnInit()执行
this.OnInitComplete(EventArgs.Empty);//初始化结束;
第四步:处理回发数据
if(IsPostBack)
{
this.LoadAllState();//加载所有的ViewSate:Page以及控件的
this.ProcessPostData(this._requestValueCollection, true);//处理回发数据,就是看一下哪些控件变化了,然后调用下面的方法
this.RegisterRequiresRaiseEvent(control.PostBackEventHandler);//注册要触发事件的控件
}
第五步:
this.OnPreLoad(EventArgs.Empty);//调用加载的事件
第六步:
Onload()
this.LoadRecursive();//递归加载,把所有控件里面的Load事件触发了
第七步:
if(IsPostBack)
{
this.ProcessPostData(this._leftoverPostData, false);//再处理一下ViewState数据
this.RaiseChangedEvents();//调用一些需要ViewState参与才能感知 事件的方法执行
this.RaisePostBackEvent(this._requestValueCollection);//调用 按钮的click事件处理
}
第八步:
this.OnLoadComplete(EventArgs.Empty);加载完。
第十步:
this.PrepareCallback(callbackControlID);//为 IsPostback设置标志
this.PreRenderRecursiveInternal();//加载html,渲染服务器端控件之前,允许你最后一次改变当前控件东西
this.SaveAllState();//保存ViewState
this.OnSaveStateComplete(EventArgs.Empty);//保存完成
this.RenderControl(this.CreateHtmlTextWriter(this.Response.Output));//把服务器控件转变成浏览器能识别的Html代码
this._context.ApplicationInstance.CompleteRequest();
//最后生成响应报文返回给浏览器。
转载于:https://www.cnblogs.com/-ljj/archive/2013/02/17/2913854.html
.Net_asp.net页面的生命周期相关推荐
- 【微信小程序企业级开发教程】页面的生命周期和参数传递
文章目录 1 页面的生命周期 2 参数传递 2.1 第一种method 2.2 第二种method 1 页面的生命周期 2 参数传递 2.1 第一种method 第一个界面代码: 要跳转界面的代码: ...
- Asp.net2.0页面的生命周期(续)
以上就是Asp.net页面生命周期中的几个主要事件.每次我们请求一个Asp.net页面时,我们都经历着同样的过程:从初始化对象到销毁对象.通过了解Asp.net页面的内部运行机制,我相信大家在编写.调 ...
- 【转】Asp.net页面的生命周期
介绍 Asp.net是微软.Net战略的一个组成部分.它相对以前的Asp有了很大的发展,引入了许多的新机制.本文就Asp.net页面的生命周期向大家做一个初步的介绍,以期能起到指导大家更好.更灵活地操 ...
- .Net页面的生命周期(ZZ)
1. 初始化:主要是执行Page的Init事件和OnIint方法. 2. 加载视图状态:主要是执行LoadViewState方法,就是从ViewState中获取上一次的状态 ...
- WEB页面的生命周期,DOMContentLoaded,load,beforeunload,unload
简言 理解WEB页面的生命周期,文档加载事件及顺序对WEB开发有十分的重要意义.如果不理解,在元素未加载就提前操作元素,则得不到想要的结果.而如果页面完全加载完成后,再进行操作,则又会影响用户体验. ...
- ZT Web Control 开发系列(一) 页面的生命周期
http://www.cnblogs.com/joeliu/category/143125.html Page是WebForm编程基本元素,它从TemplateControl派生,而TemplateC ...
- Asp.net2.0页面的生命周期
当一个获取网页的请求(可能是通过用户提 交完成的,也可能是通过超链接完成的)被发送到Web服务器后,这个页面就会接着运行从创建到处理完成的一系列事件.在我们试图建立Asp.net页面的 时候,这个执行 ...
- HTML 页面的生命周期、HTML 事件
From:https://blog.csdn.net/WuLex/article/details/101016936 1.页面生命周期 HTML页面的生命周期有以下三个重要事件,每个事件都有特定的用途 ...
- 微信小程序详解——小程序的生命周期和页面的生命周期
我是一名安卓程序员,我们安卓中最明显的特征就是类具有生命周期.所以当开发小程序的时候,我自然而然的会先研究小程序的生命周期.在Android中是通过Application来管理安卓程序的生命周期,小程 ...
- uni-app 页面组件生命周期
不论是app还是小程序,生命周期是非常重要的知识点. uni-app 支持如下生命周期函数: 页面的生命周期 onLoad 监听页面加载,其参数为上个页面传递的数据,参数类型为object(用于页面传 ...
最新文章
- 英伟达颠覆CPU!Arm架构专为AI而生,性能超x86十倍
- access转换成oracle,Access转Oracle工具
- linux cp复制文件夹下的软连接,Linux培训:cp命令复制文件和目录
- 【Vegas原创】mysql更改用户密码之无敌方法
- em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展
- 跟一个大佬前辈交流了一下
- 软件界面是怎么做出来的_电脑时间管理软件,每天要做的事情会有对话框跳出来提醒的便签软件...
- Hibernate SQL方言
- csv导入sqlite(python)
- 坐火车卧铺,到底是上、中、下哪个好?其实简单对比一下就知道了
- 历时3个月终克2.1大礼包
- 如何在S函数中对变量或者输入信号进行求导
- ue4水墨材质_PS使用水墨烟雾笔刷临摹一匹水墨烟雾骏马_资源库
- 用批处理文件阻止win10强制更新
- 数据库原理与应用第三版何玉洁第二章课后题答案
- AppIcon 生成工具
- bixby怎么编程_三星的Bixby可以做什么?
- spark日志中 Tid是什么
- Java8 默认垃圾回收器(GC)
- AD936x 系列快速入口