微软本来只需要对Web应用平台ASP作稍加改进,比方提供一个功能更强的服务器端脚本编程语言或者页面编译功能就可以保持或者甚至提高ASP的流行度。实际上ASP.NET提供了这两个功能--但是它还提供了更多的东西。简单的说,ASP.NET是一场革命。在本文中,我将讨论ASP.NET对于Web编程所做的提高。
在ASP模型中,一个页面是通过HTML定义然后是通过嵌入的脚本扩展的。在ASP.NET中,不同的是,一个页面是一个生成HTML的类。这个模型被称为WebForm。如果这个名字让你想起VB6的表单控件或者.Net WinForms,那么你摸到点边了。对于WebForms来说,Web服务器控件都放在一个页面上。当这个页面被访问的时候,这些控件自动将它们以HTML的方式实现。浏览器和服务器之间的复杂过程对程序员来说是透明的,由服务器自动完成,并允许事件处理,就和WinForms一样。
欢迎页面
让我们马上开始创建一个叫Greeter(欢迎者)的例子然后看看它是如何工作的。我在学习一个新技术的时候喜欢将它们拆开然后再凑成一整块。Greeter仅仅是要求用户输入一个名字然后发出一条问候消息,但是它演示了ASP.NET的几个主要特点。
Greeter页面定义在两个文件中:Greeter.aspx,在列表A中,和Greeter.aspx.cs,在列表B中。.aspx文件定义了页面的UI(用户界面),而C#文件(你也可以使用Visual Basic.Net或者 JScript.Net)在GreeterLogic类里实现了这个页面的逻辑。Greeter.aspx文件***行的@Page指令通过继承将UI绑定在程序逻辑上。这个指令中的ClassName属性将UI类的名字指定为CreeterUI。而Inherits属性指定GreeterUI是从GreeterLogic继承而来的。
Web服务器端控件
在这个页面的