6.2 ASP.NET编程环境

6.2.1 ASP.NET编程语言

微软公司发布了4种可用于编写CLR特定代码的语言,它们分别是Visual Basic.NET(也叫VB.NET)、C#、C++.NET和JScript.NET。第三代语言也在开发中,随着这种技术越来越流行,它支持的语言将越来越多。下面对上述微软公司开发的语言做一简要的描述。

(1)Visual Basic. NET:VB.NET是一种相对容易学习的高级编程语言,因此本书的代码范例将使用VB.NET编写。

(2)C#. NET:C#是从C和C++派生而来的,是一种简单的、面向对象的、类型安全的现代编程语言。C#旨在将Visual Basic的高效性和C++的威力融合在一起,因此它吸引了越来越多的开发人员。

(3)Visual C++.NET:C++.NET是微软公司的Visual C++编程语言的下一个版本,是一种功能强大的、面向对象的编程语言,通常用来创建非常复杂的高级应用程序。

(4)JScript. NET:JScript是一种专门用于Internet的、功能强大的脚本编写语言,也是唯一一种完全遵守ECMAScript的标准Web脚本语言。该语言的语法与C#和C++类似,但实现起来更容易些。

在每个ASPX页面中,都需要声明编写代码使用的编程语言。这种声明是通过一种页面编译指令来完成的,该编译指令类似于ASP中的脚本语言编译指令。声明语法如下:

值得注意的是,不能在页面的脚本块中使用不同的语言,页面中的所有代码都必须使用页面开始位置的页面编译指令中声明的语言来编写。

6.2.2 ASP.NET文件层次结构

在创建ASP.NET应用程序时,会生成很多类型的文件。表6.2.1列出了组成ASP.NET应用程序的各种文件及其在应用程序中所扮演的角色。

表6.2.1 ASP.NET应用程序的文件

6.2.3 命名空间

由于管理成百个类是非常复杂的问题,所以.NET引入了命名空间的概念。命名空间是一种逻辑命名方案,用于将相关的类分组,它有助于避免类的方法和属性因为使用相同的标识符而引起混乱。命名空间采用了树状结构的管理方式,每一层中间用“.”隔开。如果要在ASP.NET页面中使用这些类,就必须在页面中引用命名空间。

命名空间在开发ASP.NET应用程序中扮演了重要的角色。微软在命名空间中使用层次结构,将类似的对象分为一组,并放在通用命名空间的子空间中,从而使得标识命名空间更容易,同时使代码的面向对象性更强。下面简要介绍两个命名空间。

(1)System命名空间。

System是开发基于ASP.NET和其他.NET框架的应用程序的核心命名空间。在应用程序中能够完成的任何工作都是通过System命名空间进行处理的。例如,数组处理、数学运算和数据类型转换都是通过System命名空间及其子命名空间进行处理的。默认情况下,每个ASP.NET页面都将导入System(System.ComponentModel.Design, System.Data, System.Drawing, System.Web.SessionState, System.Web, System.Web.UI, System.Web.UI.WebControls, System.Web.UI.HTMLControls)命名空间,即System命名空间及其8个子命名空间。

(2)Microsoft命名空间。

除了.NET框架中的System命名空间外,Microsoft中还包含多个能够为应用程序中使用的编程语言提供功能的命名空间。下面是几个常用的命名空间。

①Microsoft.VisualBasic:包含Visual Basic.NET运行阶段,后者用于VB.NET语言;另外,还包含使用Visual Basic.NET语言支持编译和代码生成的类。

②Microsoft.JScript:包含Jscript语言支持编译和代码生成的类。

③Microsoft.CSharp:包含C#语言支持编译和代码生成的类。

④Microsoft.Win32:提供用于操纵注册表蜂巢和键的类和接口。

虽然.NET框架已经提供了很多命名空间,但用户仍然可以为自己创建的每个类生成一个命名空间。下面将介绍如何在ASP.NET页面中使用命名空间。

将命名空间导人ASP.NET应用程序中的方法有两种:页面编译指令@Import和Im-ports关键字分别用于将命名空间导入前台ASPX页面和后台code-behind页面中。下面的代码说明了将命名空间System.Web.UI.WebControls导入ASP.NET页面中的语法:

而要将命名空间导入到code-behind中,请在代码页的开始位置使用如下所示的语法:

如果要将多个命名空间导入到ASP.NET页面和Visual Basic code-behind页面中,则需要分别导入它们。例如,对于ASP.NET页面,请使用下面的方法来导入命名空间:

而对于Visual Basic code-behind页面,则使用下面的方法:

6.2.4 编写一个简单的ASP.NET程序

下面举一个简单的例子,我们可以新建一个文本文档,输入6-2-1.aspx所示的代码,最后将文件的后缀名.txt改成.aspx,并保存在Web服务器的虚拟目录下。

【例6.2.1】ASP.NET简单的例子代码6-2-1.aspx。

6-2-1. aspx程序代码如下:

说明:该程序分为前后两部分,前面部分是程序代码,后面部分是HTML代码(也分别称为动态部分和静态部分)。在前面部分中是一个事件,表示如果客户单击“确定”按钮,就执行该事件,即在Message控件中显示欢迎字样。后面部分就是一个表单。第一行<%@Page Language="VB"%>表示使用VB.NET编程语言。假设文件6-2-2.aspx在您的机子上保存的虚拟目录为dd,则可以通过如下方法访问该文件:

(1)http://localhost/dd/6-2-2.aspx

(2)http://127.0.0.1/dd/6-2-2.aspx

(3)http://您的计算机的名字/dd/6-2-2.aspx

(4)http://您的计算机的IP地址/dd/6-2-2.aspx

前3种方法一般指的是在自己的计算机上访问自己的ASP.NET文件,第4种方法指的是别人通过Internet访问您的文件,前提是您的计算机必须连入Internet且别人知道您的IP地址。显示结果如图6.2.1所示。

图6.2.1 程序6-2-2.aspx的运行结果