一、进入服务器控件以及aspx页面前,必须的准备:

a)在WebForm 中只要带有runat="server" 那么那就是一个控件。
b)如果form有runat="server"那么将来form的提交方式是post
c)所有的asp:Button将来在编译之后都会成submit按钮
d)页面如果没有指定提交的路径,那么默认情况下会自动生成Action属性,属性的值就是当前页面
e)回发请求:默认是post请求,请求的必须是当前页面,前且必须要是服务器控件
f)IsPostBack: 判断是第一次请求(false)还是回发请求(true)。
g)__VIEWSTATE:表单的隐藏域(只有在回发请求才会提交)。

二、当前台aspx页面使用服务器控件开发时:

a)浏览器第一次请求服务器时,

1,当浏览器第一次请求服务器时,在管道事件的第八个事件中创建被请求页面的对象。

2,在第十一,十二个事件中执行的页面生命周期,并执行了方法_BuilderControTree(),
内部就是将整个页面控件树的结构创建好,再继续执行页面生命周期,执行Page_Load() 方法,

并将 前台页面控件的数据以及后台页面Paga_Load()动态绑定的数据,保存当前的页面状态到 ViewState中。

3,根据上下文对象中的Repsonse属性生成响应报文字符串发回给浏览器。

b)当浏览器第二次请求服务器时,

1, 在管道事件的第八个事件中创建被请求页面的对象。

2, 第二次请求服务器时,因为是回传事件,所以除了创建页面控件树的结构,还要解析隐藏域中的
__VIEWSTATE数据, 执行ProcessPostData事件,将 __VIEWSTATE数据赋值到控件上去。

3,继续执行页面生命周期,执行Page_Load() 方法

4,再次执行ProcessPostData事件,将要触发改变事件的控件在一次放到集合中去。

5,保存当前页面控件的状态到__VIEWSTATE中。

总结: 可以看到当浏览器第二次请求页面时(回发请求),与第一次主要的不同是在页面生命周期的一些对象中的一些事件执行的不同,

比如(ProcessPostData事件)。

这样一来前台页面上就可以通过__VIEWSTATE 来一直保持数据,就算点击了提交,
服务器控件上的数据也不会消失(有点像Winfrom的开发)。

最后补上一幅管道事件与页面生命周期的图:

aspx页面与服务器控件间运行原理的更多相关文章

  1. ASP.NT运行原理和页面生命周期详解及其应用

    ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用.  ...

  2. ASP.NET的运行原理与运行机制 如何:为 IIS 7.0 配置 <system.webServer> 节

    https://technet.microsoft.com/zh-cn/sysinternals/bb763179.aspx 当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的 ...

  3. Asp.Net应用运行原理

    一.运行原理图 二.对于HttpModule和HttpHandler的概念可能还不是很清楚,请先看Asp.Net应用生命周期.RAR 或者 Asp.Net深入解析 第四章,流程图太大无法粘贴 三.传智 ...

  4. ASP.NET运行原理_2

    当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...

  5. Aspx 页面生命周期

    ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行 呈现.了解页的生命周期非常重要,这样就 ...

  6. struts1,struts2,hibernate,spring的运行原理结构图

    一.struts1运行原理 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(s ...

  7. iBatis.Net的基本情况和运行原理

    转载http://www.cnblogs.com/13590/archive/2013/02/27/2934580.html 摘要:介绍iBatis.Net的基本情况和运行原理,运行环境中各参数的配置 ...

  8. asp.net运行原理及机制

    当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...

  9. iis6.0与asp.net的运行原理

    这几天上网翻阅了不少前辈们的关于iis和asp.net运行原理的博客,学的有点零零散散,花了好长时间做了一个小结(虽然文字不多,但也花了不少时间呢),鄙人不才,难免有理解不道的地方,还望前辈们不吝赐教 ...

随机推荐

  1. codeblocks调试快捷键说明

    使用codeblocks避免不了快捷键: 在调试程序的时候: 首先在view->toolbar->debugger调出来:快捷方式可以自己看 RUN to Cursor  :F4 单步调试 ...

  2. dubbo的代码项目结构

    dubbo 的项目(Project)包含下面模块(Module): 这些模块的功能描述如下: dubbo-admin  dubbo的管理平台 dubbo-demo  包含生产者.消费者.接口定义的du ...

  3. C#中List的Find方法的使用

    查找List中的某个值,可以使用循环遍历对比,查找出结果.C#中提供了Find方法,可以直接使用,只要查找条件传入就可.如下: public class RecordInfo { private st ...

  4. [SQL]当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0

    ISNUMERIC ( expression ) 当输入表达式得数为一个有效的整数.浮点数.money 或 :否则返回 .返回值为 确保可以将 expression 转换为上述数字类型中的一种. 注意 ...

  5. 动画的特效Interpolator

    AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速 AccelerateInterpolator  在动画开始的地方速率改变比较慢 ...

  6. java 实例之杨辉三角

    public class study{ public static void main(String args[]){ int i,j,level=7; int Yang[][] = new int[ ...

  7. 如何在CODESOFT中自定义删除文档备料

    CODESOFT 2015是先进的标签设计与集成软件.在使用CODESOFT制作条码标签时,为方便省时,我们可以事先创建自己的文档模板,保存它们以供将来使用.接下来,小编就讲讲CODESOFT 201 ...

  8. Powerdesigner 导出Excel格式数据字典 导出Excel格式文件

    版权声明:本文为博主原创文章,转载请注明出处; 网上我也看到了很多的Powerdesigner 导出方法,因为Powerdesigner 提供了部分VBA功能,所以让我用代码导出Excel格式文件得以 ...

  9. Docker学习总结之docker介绍

    About Docker 以下均翻译自Docker官方文档 ,转载请注明:Vikings翻译 Develop, Ship and Run Any Application, Anywhere Docke ...

  10. FPGA中的时序分析(四)

    常用约束语句说明 关于Fmax      上述是实现Fmax的计算公式,clock skew delay的计算如下图, 就是两个时钟的差值.到头来,影响Fmax的值的大小就是组合逻辑,而Fmax是针对 ...