比较ASP.NET1.x的Code Behind和ASP.NET2.0的Code Beside

来源:互联网 发布:java判断一个值是整数 编辑:程序博客网 时间:2024/06/04 18:41
 

比较ASP.NET1.x的Code Behind和ASP.NET2.0的Code Beside

ASP.NET1.x(即1.0,1.1)和ASP.NET2.0都支持Code Inline,即在aspx页面之中包含代码。ASP.NET 1.x和2.0也都建议将代码和页面分离,但是前者叫作Code Behind,而后者叫作Code Beside.为什么有不同的名字?

在ASP.NET1.x的实现上,demo.aspx和demo.aspx.cs被编译成2个不同的类。demox.aspx.cs定义的Demo类继承了System.Web.UI.Page类,而demo.aspx是继承Demo类。因为demo.apx.cs提供了底层的类实现,我们将其合适的称为Code-Behind.

在ASP.NET2.0中,由于局部类型(Partial Class)的引入,demo.aspx和demo.aspx.cs共同定义了一个新类(Demo_aspx),继承了System.Web.UI.Page类。这样demo.aspx和demo.aspx.cs没有先后的区别,而是Side-By-Side,所以我们称代码为Code-Beside.

ASP.NET 1.x必须动态(运行时)编译aspx,而静态(运行前)编译Code-Behind;
ASP.NET 2.0既可以动态编译aspx和Code-Beside(适合开发),又可以静态编译aspx和Code-Beside(适合部署)。

比较ASP.NET1.x和ASP.NET 2.0在Page Directive上的不同:

<%@ Page language="c#" Codebehind="Demo.aspx.cs" Inherits="Prj.Demo" %>

<%@ Page Language="C#" CompileWith="Demo.aspx.cs" ClassName="Demo_aspx" %>

 

关于Partial Class的内容,请参考我的Blog(C#)Ninputer的Blog(VB.NET).

Tech Ed 相关课程:高效网站开发示例: 充分利用ASP.NET 2.0的新特性。欢迎您补充,以不断提高Tech Ed课程质量。

 

发表于 2004年8月23日 16:12

原创粉丝点击