易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET页面生命周期和asp.net应用程序生命周期

页面生命周期
页 面生命周期执行一系列步骤:页面的初始化、实例化控件、还原和维护状态、运行事件处理程序代码、呈现。为了在合适的阶段执行所需的代码,所以要对页面生命 周期非常熟悉。在页生命周期的各个阶段,页面会逐个引发定义的事件,通过对代码开发,在页面的生命事件中执行我们所需要的程序
页生命周期阶段
1、 页请求:发生在页面生命周期之前,用户请求页时,ASP.NET将确定是否需要分析和编译页,从而确定是否开始页面的生命周期,或者是否可以在不运行页的情况下发送页面缓存以进行响应。
2、 开始:设置页属性,如:HttpContext以及其他属性;在此阶段,页面需要确定是回发请求还是新请求,并设置IsPostBack属性;设置页面的UICulture属性。
3、 页面初始化:加载所有主题;控件生成,并设置UniqueID;
注:ViewState、ControlState中的值还未加载至控件;如果页面是回发,则回发数据也还未加载;故此时控件可以访问,但值可能出错。
4、 加载:如果当前请求是回发请求,则为控件加载ViewState和ControlState中的值。
5、 验证:调用所有验证程序控件的Validate方法,此方法将设置验证程序控件和页的IsValid属性。
6、 回发事件处理:如果请求是回发请求,则调用所有事件处理程序。
7、 呈现:首先对该页和所有控件进行保存视图状态,然后对每个控件调用Render方法,它会提供一个文本编写器,用于将控件的输入写入页的Response属性的OutputStream中。
8、 卸载:完成呈现,并已将页发送至客户端、准备丢弃该页后,调用卸载。将卸载属性如:Response和Request等等。
页生命周期事件:
1、PreInit
完成操作:检查IsPostBack属性来确定是不是第一次处理该页;
创建或重新创建动态控件
动态设置主控页
动态设置Theme属性
读取或设置配置文件属性
注:如果请求是回发请求,则控件的值尚未从视图状态恢复,即:不应该在此事件中设置控件属性。
2、Init
完成操作:在所有控件都已经初始化并且应用所有外观设置后引发。使用该事件来读取和初始化控件属性。
3、InitComplete
完成操作:由Page对象引发,使用该事件来处理要求完成所有初始化工作的任务。
4、PreLoad
完成操作:为页和所有控件加载视图状态,然后处理Request 实例包括的任何回发数据。
注:如果需要在Load之前对页或控件进行处理,需要该事件。
5、Load
完成操作:以递归方式加载所有控件。
6、控件事件
完成操作:处理控件引发的事件。
注:在回发


相关文档:

ASP.net 学习笔记二 系统对象与状态管理

 第二课: 系统对象与状态管理
aspx页面 继承 System.Web.UI.Page类
aspx 运行机制如下:
 
Page对象:指向页面自身的方式,作用域为页面执行期
1) 每一个aspx页面对应着一个Page对象
2) .aspx与后台代码类(局部类)合并生成页面类
3) Page对象是页面类的实例
个人看法:在Page对象作用域内,是不是有点像 ......

ASP.NET实现用户第二次访问网站不用提交信息

 在我们访问一些网站的时候会有一个复选框上面写着“两个星期内,不再要求输入密码”的类似内容,如果勾选上,等用户下次登录的时候就可以不用再输入密码了,直到两个星期以后。今天小编就和大家来实现这个技术点:当用户登录时,如果选中“两个星期内,不再要求输入密码”复选框,则在两个星期内 ......

ASP.NET

      使用 ASP.NET 按钮 Web 服务器控件可使用户能够将页发送到服务器并触发页上的事件。
一、背景
可使用 Button Web 服务器控件为用户提供向服务器发送页的能力。该控件会在服务器代码中触发一个事件,您可以处理该事件来响应回发。例如,用户可以指示已完成表单或希望执行特定的命令。
AS ......

ASP.NET中防止页面多次提交的代码实现

    此处提供的代码用来实现当asp.net页面中的某个Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.
//ASP.NET中防止页面多次提交的代码:javascript< script language="javascript"> < !-- function disableOtherSubmit() {
var ......

ASP.NET在IE7中使用FileUpload上传预览图片

因为安全性问题,IE7禁用了image控件引用本地图片,为了这个问题郁闷了好几天,终于找到了解决方案,好东西要与大家分享,代码如下:
此段代码放于<head> ....</head>之间
<style type="text/css">#newPreview {
FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)
} ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号