昨天面试的时候被问到一个问题:简述ASP.NET页面的生命周期。
当然完全不知道咯。
今天在网上找了一下,发现原来ASP.NET页面的生命周期要分10个部分。看到网上很多说ASP.NET页面生命周期的文章大多意思一样,千篇一律。所以我用自己的话来说说吧
以下有不对的地方,还请大家指正或是给我发邮件 ,谢谢!
OnInit: 对象的初始化。是对ASPX页面进行初始化的一步,主要工作通过构造函数完成。主要初始化的是构造函数中的对象,也可以有页面中的控件。不过不同的是控件初始化后,其属性并没有初始化,就像C++中只对一个变量分配了空间而没有对其赋值一样。此时如果访问控件的属性,会发生错误。可以在OnInit中进行用户自定义初始化。
LoadViewState: 导入Viewstate数据。一般是以base.LoadViewState(object o)这样一个方法来对所有控件进行第一个属性的获取。按“原话”说就是“这个属性最终将被返回给服务器以判断这个页面是已经被用户访问完毕还是仍然在被用户所访问”。Viewstate是以“KEY/VALUE”的方式来保存的(我觉得有点像哈希表呢),当然用户也可以在这一步进行自定义。以下是MSDN上对Viewstate的说明:
获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。