Visual Studio 2005中我常用的快捷键 我的书
Sep 12
Technorati 标记: ,

今天看了一个关于asp.net2.0的QA,学到了不少东西。中间有一段是关于asp.net中的页面声明周期的。很有意思,而且很有用。翻译出来与大家分享。
——————
ASP.NET 2.0中页面事件的生命周期
为了能够跟踪发生在页面的时间,最好打开跟踪(<% @Page Trace=”true”%>),然后就可以跟踪下面的事件了。
PreInit-这个事件是整个asp.net页面声明周期的开始。如果你需要更改Master page或者是主题的修改,那么这个事件就是你要找得了。动态的一些控制也是在这里完成的。
Init – 每个网页上的控件都是在这里初始化的。
Init Complete* -页面初始化和处理结束。
PreLoad* - 这个事件加载页面完成之前被激活。
Load –这个事件用来对页面和页面所有的空间进行设置。控件的属性,可见性等等。经常的做法是在这里处理一些页面初期的事情。我们经常用到的也就是这个了。这个事件就表明所有的控件都已经完全加载完毕了。
LoadComplete* -这个事件仅仅表明页面生成成功,并放入内存中。同时也是表明了页面事件的开始。
PreRender – 如果你想对页面的控件的内容或者页面做些更新的话,那么就用这个事件了。首先针对页面,然后针对控件。
PreRenderComplete* -这个被调用就说明PreRender已经执行完毕。
SaveStateComplete* - 在这里事件里面,目前所有的空间的状态将被放入ViewState中。(终于找到这个东西了。)
Unload –这个总是用来关闭诸如文件或者数据库链接这类操作,有时也用写一个log,用来记录完成的工作。主要是页面结束时进行的一些操作。
标有*都由asp.net自动完成了。
—————
还有一个是ViewState 的,再进公司之前有个培训我的老师问过我这个东西。可惜他现在已经不在公司了。
Explain the ViewState in ASP.NET?
http是一个弱状态的协议,因此,控件的状态在两次不同的postback之间不保存。Viewstate用来存储服务器侧的控件状态在两次postback之间。信息存储在HTML中的隐藏区域里面。换句话,是页面控件的快照。
如果页面不需要用到Viewstate,尽量把它禁用了。能够节省不少空间。
Explain the ASP.NET Page Directives? 解释asp.net page 指令
以上文章的原文出自http://www.dotnetcurry.com/,一个很经典的.net教学网站

bookmark

written by 刘浏


Leave a Reply