页面和页面里的控件的事件的执行顺序。
来源:互联网 发布:最好的电脑优化软件 编辑:程序博客网 时间:2024/05/12 12:14
第一次访问的时候的执行顺序:
1、页面的Oninit事件
2、页面的InitComplete事件
3、页面的PreLoad事件
4、页面的Page_Load事件
5、页面的LoadComplete事件
6、控件里面的CreateChildControls事件
7、页面的SaveStateComplete事件
8、页面里的Render事件
而当回发的时候(也就是表单提交后),事件的执行顺序就有些差别
1、页面的Oninit事件
2、页面的InitComplete事件
3、控件里面的CreateChildControls事件 (原来是第六位)
4、页面的PreLoad事件
5、页面的Page_Load事件
6、相应各个控件的事件,比如按钮的单击事件
7、页面的LoadComplete事件
8、页面的SaveStateComplete事件
9、页面里的Render事件
这里最郁闷的就是在回发的时候,控件里面的CreateChildControls事件的前移,提前到了页面的Load事件之前。
如果控件的属性是在aspx页面里赋值的话,那么没有什么影响,如果是在Page_Load里面给控件的属性赋值的话,那么就会遇到一个问题,就是在第一次访问的时候,程序可以正常运行,但是在回发(表单提交)的时候,就会出现未给控件属性赋值的错误。究其原因就是在回发的时候,控件里面的CreateChildControls事件的执行顺序前移造成的。
解决方法呢,一个就是在页面的Oninit事件里面赋值,不过这个不大习惯,另一个就是在控件内部实现属性的“缓存”,一般可以采用ViewState来保存属性值,这样在回发的时候就可以从缓存里面读取信息了。但是如果遇到很敏感的数据的时候,这么做就不太好了,所以,没办法,我才做了一个保存数据而且能够设置密钥的方法。http://www.cnblogs.com/jyk/archive/2009/04/24/1442794.html
ps:这里面写的事件并不全,只是挑了几个常用的,而且特别的几个。
- 页面和页面里的控件的事件的执行顺序。
- 页面和页面里的控件的事件的执行顺序。
- 页面中声明方式定义的用户控件与页面事件的执行顺序
- aspx 的页面事件执行顺序
- asp.net 页面的事件执行顺序
- ASP.NET页面事件的执行顺序
- .net用户控件和页面的加载事件顺序
- 页面,master页面,用户控件的执行顺序
- ASP.NET页面生命周期(包含页面的回传和事件触发的执行顺序)
- ASP.NET中页面及用户控件的事件执行顺序
- 页面事件的顺序和返回 -- [翻译]
- 控件里的textbox事件转到页面去触发(调用其它控件和页面上的值)
- ASP.net中页面事件的先后执行顺序(引用)
- ASP.net中页面事件的先后执行顺序
- ASP.net中页面事件的先后执行顺序
- 页面加载时page类中事件的执行顺序
- 运行page页面时的事件执行顺序
- 页面装载用户控件时的事件顺序
- 如何才能快速提高自己的能力?!
- Java BUG测试点
- 分页解决方案 —— GridView + QuickPager + QuickPager_SQL + DataAccessLibrary + 数据库
- IEnumrable
- .net Framework2.0 里面的Webcontrols的几个常用控件的继承树
- 页面和页面里的控件的事件的执行顺序。
- Linux如何走出桌面困境?
- 一个保存数据的方法(可以切换存放的位置,可以设置密钥)
- 辞职后的后续事情——档案移交、失业金等。
- 这几年的几次“打拼”的失败的教训。程序员之间如何沟通,如何合作?!
- 根据实例说数据库设计(一)—— 人员管理
- “什么是团队精神”——《海贼王》里的一段台词
- 某人写的股市基本原理
- 我的个人简历