北大青鸟鲁广校区

北大青鸟鲁广校区

  • 北大青鸟徐东校区
  • 北大青鸟光谷校区
  • 北大青鸟宏鹏IT校区
  • 荆州青鸟之家
  • 襄阳青鸟之家

15902769092

百日千才

编程模型之ASP.NET页面周期面解析

2013-08-13 11:29来源:武汉北大青鸟鲁广校区作者:武汉宏鹏

  《编程模型之ASP.NET页面周期面解析》参与软件编程的学生们可能对编程模型之ASP.NET页面周期比较感兴趣,但是在学习过程中会发现,部分知识会出现混淆。那么我们今天就是为了能够面为学员解析清楚关于Asp.net页面的生存周期。武汉北大青鸟专业老师为你解惑:

  先我们先了解一下什么是Asp.Net页面生命周期?

  ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页的生命周期非常重要,这样就能在合适的生命周期阶段编写代码,以达到预期效果。此外,如果开发自定义控件,则必须熟悉页生命周期,从而正确地初始化控件,使用视图状态数据填充控件属性以及运行所有控件行为逻辑。

  ASP.NET编程模型之页面生命周期执行一系列步骤:页面的初始化、实例化控件、还原和维护状态、运行事件处理程序代码、呈现。为了在合适的阶段执行所需的代码,所以要对页面生命周期非常熟悉。在页生命周期的各个阶段,页面会逐个引发定义的事件,通过对代码开发,在页面的生命事件中执行我们所需要的程序。

  上图为ASP.NET页面生命周期图。

  以下详细讲解一下ASP.NET的页面生命周期。

请求页

请求页发生在页生命周期之前。用户请求时,ASP.NET将确定是否需要分析和编译页面,或者是否可以在不运行页的情况下输出缓存来进行响应。

开始

初始化页面类的属性。设置Request和Response,用于处理用户的请求和要回发数据库的响应的对象,确定是回发请求还是新请求来设置IsPostBack属性。此外,还将设置页的UICulture属性。

页面初始化

可以使用控件,并将设置每个控件的UniqueID属性。此外,任何主题都将应用于页。如果当前请求是回发请求,则回发数据尚未加载,并且控件属性值尚未还原为视图状态中的值。而且所有控件的属性都将被用默认值来做初始化。

控件加载

读取或者初始化控件的属性,如果当前请求为回发请求,则将使用从视图状态和控件状态恢复的信息加载控件属性。故控件的初始化数据必须在调用来维护控件的视图状态后加载才能保留下来。

验证

通过调用所有验证程序控件的Validate 方法,此方法将设置各个验证程序控件和页的IsValid属性。

加载视图状态(页面是回发时才有)

在这个事件中运行时从隐藏域(ViewState)中分解出视图状态并加载到所有启用了视图状态的控件中。

加载回发数据(页面是回发时才有)

实现了IPostBackDataHandler接口的控件HTTP的Post数据中得到值。但TextBox控件不能从视图状态中获得值,而是在此事件中从POST数据中获得值。

页面加载

读取和更新控件属性,与控件加载过程不同的是,该事件发生在Page_Load方法中,可以实现该方法中一些初始化的操作、判断页面是否次加载等等,DropDownList和CheckBoxList的Items条目程序添加也是发生在这个事件中。但Page_Load不是Page类个触发的方法。

回发事件处理

如果请求是回发请求,则将调用所有事件处理程序。注意,事件触发之前先要触发Page_Load。

呈现

在呈现之前,ASP.NET会针对该页和所有控件保存视图状态。在呈现阶段中,页会针对每个控件调用Render 方法,它会提供一个文本编写器,用于将控件的输出写入页的Response 属性的OutputStream 中。

卸载

完呈现页并已将页发送至客户端、准备丢弃该页后,将调用卸载。此时,将卸载页属性(如Response 和Request)并执行清理。包括关闭打开的文件和数据库连接,完成日志记录或者其他任务。

 

 

关闭

只为了方便您就学 北大青鸟鲁广校区 北大青鸟鲁广校区

武汉市洪山区珞喻路724号(地铁二号线光谷广场站F口出)

全真项目实战 入学签就业协议

Copyright (c) 2006-2020 武汉宏鹏职业培训学校 版权所有 All Rights Reserved.