首页 > 代码库 > ASP.NET一个页面的生命周期
ASP.NET一个页面的生命周期
在学习ASP.NET页面生命周期前,需要先了解之前的ASP.NET的基本运行机制,在理解ASP.NET基本运行机制原理后,下面将介绍ASP.NET的生命周期中,页面从创建到处理结束的过程中ASP.NET Engine执行的10个事件.
1.对象初始化
页面自身以及页面中的控件,都是在Form中被首次初始化的,初始化事件可以通过OnInit()方法重载.通过在ASPX页面的后台代码文件的构造器中声明对象,页面将知道对象的类型,并知道需要创建多少个这样的对象.一旦在构造器中声明了控件,就可以在其任何子类 事件 方法 或属性中访问到它们.但是,如果对象实在ASPX文件中指定的控件,由于这样的控件是没有属性的,并且这样做对从代码中访问它们是危险的,所以无法保证这些控件实例是按照怎样的顺序被创建的.
2.加载视图状态数据
初始化之后,因为还没有建立用于相对引用的文档对象模型,所以控件仅能通过ID引用.在LoadViewState事件中,已初始化的控件获得第一个属性,即上一次提交存留到服务器的视图状态信息.页视图状态通过ASP.NET维护,通常被用于在一个往返行程中存留信息到服务器.视图状态信息以一个名称/值对的形式进行保存,它包含控件的Text和Value这一类信息.视图信息在页请求中进行传递,通常保存在隐藏<input>控件的值属性中.这个事件可以通过LoadViewState()方法重载,往往用于在控件被填充时定制它所接受的数据.
3.LoadPostData处理回传数据
在创建页的阶段,被发送到服务器端的Form数据(也被称为回传数据)依照每个控件的数据需求进行处理.当页面提交Form时,框架将在每个提交数据的控件上实现IPostBackDataHandler接口.随后,页面激发LoadPostData事件,通过页面解析发现实现了IPostBackDataHandler接口的控件,并用正确的回传数据更新控件状态.ASP.NET更新正确的控件是通过匹配控件的唯一标示符来实现的,该标识符具有名称值集合中的名称值对.
4.对象加载
5.激发RaisePostDataChanged事件
6.处理客户端回传事件
ASP.NET一个页面的生命周期