ASP.NET页生命周期

一般来说,页要经历下面概述的各个阶段。除了页生命周期阶段以外,在请求前后还存在应用程序阶段,但是这些阶段并不特定于页。


页请求

     页请求发生在页生命周期开始之前。用户请求页时,ASP.NET 将确定是否需要分析和编译页(从而开始页的生命周期),或者是否可以在不运行页的情况下发送页的缓存版本以进行响应。

开始

在开始阶段,将设置页属性,如 tabindex="0" keywords="P:System.Web.UI.Page.Request"> 和 tabindex="0" keywords="P:System.Web.UI.Page.Response">。在此阶段,页还将确定请求是回发请求还是新请求,并设置 tabindex="0" keywords="P:System.Web.UI.Page.IsPostBack"> 属性。此外,在开始阶段期间,还将设置页的 tabindex="0" keywords="P:System.Web.UI.Page.UICulture"> 属性。

页初始化

页初始化期间,可以使用页中的控件,并将设置每个控件的 tabindex="0" keywords="P:System.Web.UI.Control.UniqueID">  属性。此外,任何主题都将应用于页。如果当前请求是回发请求,则回发数据尚未加载,并且控件属性值尚未还原为视图状态中的值。(当然如果禁用了视图状态,就不存在了。但如果你使用了页面的ispostback属性,就会发生到意想不到的结果。)

加载

加载期间,如果当前请求是回发请求,则将使用从视图状态和控件状态恢复的信息加载控件属性。

验证

在验证期间,将调用所有验证程序控件的 tabindex="0" keywords="M:System.Web.UI.WebControls.BaseValidator.Validate"> 方法,此方法将设置各个验证程序控件和页的 tabindex="0" keywords="P:System.Web.UI.IValidator.IsValid"> 属性。

回发事件处理

如果请求是回发请求,则将调用所有事件处理程序。

呈现

在呈现之前,会针对该页和所有控件保存视图状态。在呈现阶段中,页会针对每个控件调用 tabindex="0" keywords="M:System.Web.UI.Control.Render(System.Web.UI.HtmlTextWriter)"> 方法,它会提供一个文本编写器,用于将控件的输出写入页的 tabindex="0" keywords="P:System.Web.UI.Page.Response"> 属性的 tabindex="0" keywords="P:System.Web.HttpResponse.OutputStream"> 中。

卸载

完全呈现页并已将页发送至客户端、准备丢弃该页后,将调用卸载。此时,将卸载页属性(如 tabindex="0" keywords="P:System.Web.UI.Page.Response"> 和 tabindex="0" keywords="P:System.Web.UI.Page.Request">)并执行清理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

故乡的牛牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值