1.4 ASP.NET网页语法
ASP.NET的语法定义了ASP.NET网页的结构、布局和设置,同时还定义了ASP.NET服务器控件、应用程序代码、应用程序配置和XML Web Services的布局。本节将详细介绍ASP.NET网页的基本语法,为后面的学习打下坚实的基础。
1.4.1 ASP.NET网页扩展名
ASP.NET 的任何功能都可在具有适当文件扩展名的文本文件中创建。可以把ASP.NET网页扩展名理解为ASP.NET文件的“身份证”,不同的扩展名决定了不同文件的类型和作用。通过Internet信息服务(IIS)将文件扩展名映射到 ASP.NET运行处理。例如,Web页面的扩展名为.aspx、母版页的扩展名为.master等。ASP.NET网页中包含多种文件类型,其常见扩展名的具体描述如表1.1所示。
1.4.2 常用页面指令
ASP.NET页面中的前几行,一般都是<%@…%>这样的代码,通常称为页面指令,主要用来定义ASP.NET网页分析器和编译器使用的特定于该页的一些功能特性。在.aspx文件中使用的页面指令一般有以下几种。
1.<%@Page%>
<%@Page%>指令可定义ASP.NET网页分析器和编译器使用的属性,一个页面只能有一个这样的指令。
2.<%@Import Namespace=“Value”%>
<%@Import Namespace=“Value”%>指令可将命名空间导入到ASP.NET应用程序文件中。一个指令只能导入一个命名空间,如果要导入多个命名空间,应使用多个@Import指令来执行。大部分常用的命名空间在默认状态下都被自动导入,不需要手动加入。
& 说明:由于管理上百个类过于复杂,.NET引入了命名空间的概念。所谓命名空间就是将许多功能类似的类组成一个逻辑单元,如System.IO命名空间包含了所有输入输出操作类。
3.<%@OutputCache%>
<%@OutputCache%>指令可设置页或页中包含的用户控件的输出缓存策略。
4.<%@Implements Interface=“接口名称”%>
<%@Implements Interface=“接口名称”%>指令用来定义要在页或用户控件中实现的接口。
5.<%@Register%>
<%@Register%>指令用于创建标记前缀和自定义控件之间的关联关系,有以下3种写法。
<%@ Register tagprefix="tagprefix" namespace="namespace" assembly="assembly" %>
<%@ Register tagprefix="tagprefix" namespace="namespace" %>
<%@ Register tagprefix="tagprefix" tagname="tagname" src="pathname" %>
参数说明如下。
? tagprefix:提供对包含指令的文件中所使用标记的命名空间的短引用的别名。
? namespace:正在注册的自定义控件的命名空间。
? tagname:与类关联的任意别名。此属性只用于用户控件。
? src:与tagprefix:tagname对关联的声明性用户控件文件的位置,可以是相对的地址,也可以是绝对的地址。
? assembly:与tagprefix属性关联的命名空间的程序集。程序集名称不包括文件扩展名。如果将自定义控件的源代码文件放置在应用程序的App_Code文件夹下,ASP.NET 2.0在运行时会动态编译源文件,因此不必使用assembly属性。