asp.net 页面生命周期(Page lifeCycle)

简介:

刚开始研究.net,发现.net2.0中还是有不少bug,不知道3.5会怎样。

研究了一会,有点成果,记下一笔吧

asp.net运用的是基于事件的处理模式,page lifecycle就是指页面(page)和控件按一定的次序发生。

1、Detemine postback mode    根据在request里的viewstate对IsPostBack属性赋值

2、PreInit                                        在页面开始初始化时发生,可以动态设置master page 和theme

3、Initialize themes                       theme初始化

4、Apply master page                   添加master page

先对于每一个控件 然后页面

              5、Get Control Adapter          开发者可以用Control adapter 更改服务器控件,而这些Control Adapter都是在App_Browsers文件夹中定义

              6、Apply skin                            添加控件定一的皮肤

              7、Init                                         控件生成,现在控件还不能被访问,ViewState中的信息还不能被访问

              8 、Track View State                跟踪ViewState中的值

9、InitComplete                              在页面(Page)初始化完成后触发,所有在页面定义的控件已被初始化,然而ViewState中的值还不能使用

if Ispostback

         10、  Page state is loaded from presistence medium       读取ViewState并装载

          11、load  Control state                                                             读取ControlState并装载

          12、load  View State (page then control)                         读取并装载与page和control有关的ViewState

           13、Process post data                                                             装载post过来的数据

14、preLoad                                               发生在ViewState存储后Load事件发生前

15、Load(page,then controls)        Load事件

if IsPostBack

            16、Process Post Data                          装载Post过来的数据,为了在Load事件中装载的控件

             17、Control Change Events                 所有的Control Change Event 触发 (TextChanged)

             18、Control Postback Events              所有的Control Postback Event 触发(button click)

19、LoadComplete                     所有的 Load事件发生后触发

20、Prepare Callback                 如果有异步事件定义时触发

先页面 ,之后对与每个控件

            21、Create Child Controls            控件创建子控件

            if  data binding

                        22、DataBinding                  若控件有DataSourceID属性被设置是触发

                        23、Data Bind                     

                        24、DataBound

              25、PreRender                          准备Render

26、Execute asynchronous tasks              处理异步事件(PageAsyncTask)

27、Render Callback                            翻译 client script callback

28、PreRenderComplete                    所有控件和页面已经准备完成

先Page,然后对于每个控件

              29、Save Control State                  

              30、Save View State

31、Save Page State To Presistence Medium

32、SaveStateComplete

先页面,再对与每个控件

          33、Render

先页面、在对于每个控件

          34、UnLoad

分类:  C# Asp.net

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2008/04/03/1136291.html,如需转载请自行联系原作者
相关文章
|
7月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
80 5
|
开发框架 数据可视化 前端开发
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
644 0
|
开发框架 JavaScript .NET
Asp.net C#页面传参的几种方式
Asp.net C#页面传参的几种方式
174 0
|
开发框架 .NET Windows
真正解决ASP.NET每一个页面首次访问超级慢的问题
真正解决ASP.NET每一个页面首次访问超级慢的问题
325 0
|
.NET Linux Windows
Asp.net core中由于页面编码导致的中文乱码
原文:Asp.net core中由于页面编码导致的中文乱码 问题描述 最近使用asp.net core写了一个简单的网站,在windows系统下完全没有出现问题。后来在linux系统中搭建了docker,并且在linux中自动使用git获取源码,编译,部署一条龙自动化。
2398 0
|
前端开发 .NET 开发框架
ASP.NET Core 2 学习笔记(二)生命周期
原文:ASP.NET Core 2 学习笔记(二)生命周期 要了解程序的运行原理,就要先知道程序的进入点及生命周期。以往ASP.NET MVC的启动方式,是继承 HttpApplication 作为网站开始的进入点,而ASP.NET Core 改变了网站的启动方式,变得比较像是 Console Application。
1133 0
|
前端开发 .NET C#
学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面
原文:学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体  学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面   本篇文章介绍上一篇文章中创建的书籍信息管理系统中增删改查的四个Razor模板页面。
1299 0
|
.NET 开发框架 缓存
|
.NET 开发框架 搜索推荐
ASP.NET 2.0页面的生命周期
在ASP.NET 2.0中,一个ASP.NET页面的生命周期主要为: 客户端请求页面 预初始化(OnPreInit) 初始化(OnInit) 完成初始化(OnInitComplete) 载入ViewState(LoadViewState) 处理回送数据(IPostBackDataHan...
555 0
|
Web App开发 .NET C#
ASP.NET页面的生命周期
在ASP.NET 2.0中,一个ASP.NET页面的生命周期主要为: 客户端请求页面 预初始化(OnPreInit) 初始化(OnInit) 完成初始化(OnInitComplete) 载入ViewState(LoadViewState) 处理回送数据(IPostBackDa...
627 0

热门文章

最新文章