了解ASP.NET页面
动态编辑
当你新建一个页面时,其实是创建一个.NET类的源代码,System.Web.UI.Page类的实例。
请求一个ASP.NET页面时,ASP.NET Framework检测这个页面对应的.NET类,如果对应的类不存在,Framework会自动把这个页面编译成一个新的类,并把编译后的类(程序集)保存在位于下面这个路径的ASP.NET临时文件夹中\WINDOWS\Microsoft.NET\Framework\[version]\Temporary ASP.NET Files
下一次对这个页面的请求时,页面就不会再编译一次了。先前的编译类会执行并把结果返回给浏览器。
代码分离
Code Behind就是所谓的代码分离,自从Microsoft公司推出了ASP.NET以后,Code Behind就是一个热门的话题。在一般的ASP.NET文件中,Code Behind主要是用二个文件来创建一个ASP.NET的页面,其中一个是设计文件,一般以.aspx或者.ascx做为扩展名,而另外一个是程序代码文件,一般以.vb或者.cs做为扩展名,其程序设计语言主要是VB.Net或者是C#。
处理页面事件
下面是请求页面时引发的事件序列:
-
PreInit
-
Init
-
InitComplete
-
PreLoad
-
Load
-
LoadComplete
-
PreRender
-
PreRenderComplete
-
SaveStateComplete
-
Unload
使用Page.IsPostBack属性
Page类包含IsPostBack属性,该属性用于检测页面是否已经回传给服务器端。
因为有视图状态,所以初始化控件的属性后,并不想每次页面加载都初始化这个属性。视图状态在页面回传过程中保存了控件属性的状态,所以只在页面第一次加载时初始化控件属性一次。
事实上,如果每次页面加载都重新初始化控件的属性,很多控件将不能正确地工作。在这种情况下,就需要用IsPostBack属性来检测页面是否已经回传给服务器端。