客户每次请求Web页面过程

客户每次请求页面时——通过最初请求或者回送——所发生的事情。


    图中显示了有5个主要事件:初始化、加载、预提交、提交、处理

我们可以为每个步骤添加代码。

1.初始化:

ASP.NET处理器第一次接到页面请求时,首先会触发Init事件。这个事件可以构建页面架构,并准备即将提交的页面控件。OnInit()方法是处理这个事件的默认方法。

Init事件之后,是两个较小的进程。第一,如果存在试图状态,就加载页面。也就是说,ASP.NET处理器会查找隐藏在<input name="__VIEWSTATE">标记中的页面内容所包含的、并被包括在页面请求中的数据。如果找到了这种数据,就对数据进行读取并编码,准备在(重新)生成页面时使用。第二,处理回送数据。在用户触发一个服务器端事件时,Web窗体会触发一个回送,这个回送含有服务器用以进行处理的信息。

2.页面加载:

加载页面时,触发的主要事件就是Load事件。处理Load事件的默认方法是OnLoad事件处理程序;然而,VS.NET通常要在InitializeComponent()方法中添加一行代码,指出Load事件由Page_Load()方法处理的。

        private void InitializeComponent()

        {   

            this.Load += new System.EventHandler(this.Page_Load);

        }

可以向Page_Load()方法添加代码,以控制页面加载时所发生的事件。

3.事件处理:

在这个过程中,ASP.NET处理器要应付一系列被触发并经过处理的事件。如果页面正在被回送,还会包括用户触发的事件。

PreRender事件也是在这个阶段被处理的。处理PreRender事件的默认方法是OnPreRender(),这里要编写代码,完成提交页面的方式的最终改变(这个变化可以保存在回送中,它和下一个步骤中Render()事件处理程序所引起的变化不同)。然后,把这个页面状态保存到即将返回给页面的试图状态中。

4.提交:

在这个过程中,通过生成浏览器必需显示的HTML,获取用以提交将被发送到浏览器的页面代码。通过向Render()事件处理程序添加代码,可以生成更多的最终改变,这些改变能够影响页面的提交方式,因为Render()事件处理程序可以处理Render事件(注意命名约定中的变化:事件处理程序一定不能被命名为OnRender())。

5.处理无用的对象:

最后这个阶段含有用于执行清理操作的代码,清理工作是通过处理不再使用的对象(比如那些已经完成的数据链接)完成的。

 

转载于:https://www.cnblogs.com/Bear-Study-Hard/archive/2006/04/17/376997.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值