page类介绍:代码页面分离模式:partial表示此类的定义是不完整的,还有一部分在别的文件夹。
page类的生命周期:(1)页请求:页请求发生在页生命周期开始之前,用户请求页时,ASP.NET将确定是否需要 分析和编译页(从而开始页的生命周期)。
(2)开始:在开始阶段,将设置页属性,如Request和Response。在此阶段,页还将确定请 求是回发请求还是新请求,并设置IsPostBack属性。此外,在开始阶段期间,还 将设置页的UIClture属性。
(3)页初始化:页初始化期间,可以使用页中的控件,并将设置每个控件的UniqueID属性。 此外,任何主题都将应用于页,如果当前是回发请求,则回发数据尚未加载 ,并且控件属性值尚未还原为视图状态中的值。
(4)加载:加载期间,如果当前是回发请求,则将使用从视图状态和控件状态恢复的信息加 载控件属性。
(5)验证:在验证期间,将调用所有验证程序控件的Validate方法,此方法将设置各个验证 程序控件和页的IsValid属性。
(6)回发事件处理:如果请求是回发展请求,则将调用所有事件处理程序。
(7)呈现:在呈现期间,视图状态将被保存到页,然后页将调用每个控件,以将其呈现的输 出提供给页的Response属性的OutputStream。
(8)卸载:完全呈现页,将页发送到客户端并准备丢弃时将调用卸载。此时,将卸载页属性 (如Response和Resquest)并执行清理。
page类的事件:(1)Page_Prelnit 开始
(2)Page_Init 初始化
(3)Page_Load 载入
(4)Controlevents
(5)Page_PreRender
(6)Page_Unload 卸載
Web无状态:Web应用程序是无状态的每一次请求一个新网页或刷新网页服务器都会创建一个当前页的新实例。
IsPostBack属性:Page类有一个IsPostBack属性,这个属性用来指示当前页面是第一次加载还是响应了页面上 某个控件的服务器事件导致的回发加载。
ValidateRequest属性: 用于检查是否对输入有潜在危险性。默认为true;
如何在页面中输出javascript脚本:(1)Response.Write()方法:但会破坏XHTML的结构。
(2)RegisterClientScriptBlock()方法:比较靠近<form>标记。
(3)RegisterStartupScript()方法:比较靠近</form>标记。
Page类中有一个ClientScript属性:(1)是ClientScriptManager的实例。
(2)RegisterClientScriptBlock():向Page对象注册客户端脚本。
(3)RegisterstartupScript():向Page对象注册启动脚本。
示例:
Response.Write("<script language='javascript'>alert('123');<script>");
string scriptstring="<script language='javascript'>alert('123');<script>";
ClinetScriptManage csm=Page.ClientScript;
csm.RegisterClientScriptBlock(this.GetType(),"sss",scriptstring,false);
csm.RegisterstartupScript(this.GetType(),"sss",scriptstring,false);