第一章 架构 1.1基本原理 & 1.2 代码隐藏模型1.1 基本原理ASP.NET 1.0和2.0都是将整个aspx解析为一个类定义,并编译成一个程序集。1)当代码直接写入aspx页面中,即<script language='C#' runat='server'></script>和<%...%>形式写代码的时候:服务器端脚本被直接加入到类定义中,分散的脚本则被合并成该类中的一个Render方法,该方法被调用的时候将所有的静态和动态内容写入响应流中(用HtmlTextWrite输出)。2)当使用服务器端控件而不是<%...%>(其实这两种情况并不冲突)的时候:运行环境不使用Render方法将脚本和静态Html结合起来,而是将所有静态内容都Literal Control来表现。3)服务器端的控件DataSource属性可以设置为任意一个可枚举集合(即任何实现了IEnumerable接口的类型)。将网页解析为类声明,服务器端控件和数据绑定架构是ASP.NET进行Web开发的三个支柱。
1.2代码隐藏1)ASP.NET 1.0的隐藏模型:ASP.NET 1.0使用CodeBehind模型,这个模型要求创建一个中间基类(aspx文件对应的cs文件生成的),它位于基类Page和aspx文件生成的类之间。这个中间基类继承Page类,页面aspx生成的类则继承该中间基类。因为继承关系,所以中间基类中必须声明aspx页面中的控件变量,才能使用aspx页面类中的控件。2)ASP.NET 2.0的隐藏模型:ASP.NET 2.0和1.0相比有小小差别,一是@Page编译指令中使用CodeFile属性,二是代码隐藏文件(由CodeFile指定的cs文件)使用了关键字Partial,这样2.0中就将代码文件(cs文件)生成一个部分类,并由ASP.NET 2.0自动生成一个隐藏的部分类(里面自动为aspx页面的服务器端控件作声明),这两个部分类合成1.0中的中间基类的作用。这样的好处是cs文件中不用再显式声明服务器端控件则可以直接再cs文件中使用。方便了代码编写并减少了出错的机会。
转载于:https://www.cnblogs.com/KenBlove/articles/994309.html
相关资源:JAVA上百实例源码以及开源项目