Active Server Pages(ASP)文件是以 .ASP 为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合:
文本
HTML 标记
ASP 脚本命令
创建 .ASP 文件非常容易。如果要在 HTML 文件中添加脚本,只需将该文件的扩展名 .htm 或 .HTML 替换为 .ASP 就可以了。要使 .ASP 文件可用于 Web 用户,请将这个新文件保存在 Web 站点上的目录中(请确定启用了该目录的脚本和执行权限)。使用浏览器查看该文件时,可以看到 ASP 处理并返回了 HTML 页。现在可以在 .ASP 文件中添加脚本命令了。
注意 因为 .ASP 文件需要额外的处理,请不要将所有的 HTML 页都转换为 ASP 页。应该只将包含脚本命令的文件转换为 .ASP 文件。.ASP 和 .htm 文件可以放置在相同的目录中。
使用任何的文本编辑器都可以创建 .ASP 文件。使用那些带有 ASP 增强支持的编辑器将更能提高效率,如 Microsoft® Visual InterDev™ 。如果您从未使用过 HTML,请考虑先使用 Microsoft FrontPage 。使用 FrontPage 创建文档和格式化文本就象使用文字处理工具一样简单。接下来还可以使用 Insert Script 命令在 FrontPage 创建的 HTML 页中加入简单的 ASP 命令。
加入 Script 命令
脚本是一系列的命令和指令。与 HTML 标签不同,script 命令指示 Web 服务器执行操作,而 HTML 标签只是简单地格式化文本或读取图形、视频及音频文件。Script 命令可以在变量中存储用户名,在返回到浏览器的页中显示用户名或将用户名存储在数据库中。
脚本命令通过定界符与文本区别开来。定界符是字符或一串字符,它标志单元开始或结束。HTML 使用定界符——小于号(<)和大于号(>)括入 HTML 标签。
ASP 使用定界符 <% 和 %> 括入脚本命令。您可以在定界符中括入任何命令,只要这些命令对正在使用的脚本语言有效。下面的例子展示了包含脚本命令的简单的 HTML 页:
<HTML>
<BODY>
This page was last refreshed on <%= Now %>.
</BODY>
</HTML>
VBScript 函数 Now 返回当前的日期和时间。Web 服务器处理该页时,会使用当前的日期和时间替换 <%= Now %> 并且将该页返回到浏览器:
This page was last refreshed on 8/1/97 2:20:00 PM.
定界符括入的命令被称为主脚本命令。这些命令被主脚本语言处理。在脚本定界符中使用的任何命令都必须对主脚本语言有效。默认情况下,主脚本语言是 VBScript。要设置另一种语言。
如果您已经熟悉了客户端脚本编写(编写在浏览器上运行的脚本),请注意不要用 HTML <SCRIPT> 元素括入表达式。在编写服务器端脚本时,只用 <SCRIPT> 元素在主脚本语言外的其他语言中定义过程。
合成 HTML 和脚本命令
在 ASP 定界符中可以包含任何在主脚本语言中合法的语句、表达式、过程或操作符。在 VBScript 和其他脚本语言中,语句是语法完整的单元,该单元表达某项活动、声明或定义。下面的条件语句 If...Then...Else 是一条常见的 VBScript 语句。
<%
If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then
Greeting = "Good Morning!"
Else
Greeting = "Hello!"
End If
%>
<%= Greeting %>
这条语句将值 "Good Morning!" 或值 "Hello!" 存储在变量 greeting 中。<%= Greeting %> 命令将当前的变量值发送到浏览器中。
这样,在(Web 服务器所在时区的)正午 12 点前浏览该脚本的用户将看到:
Good Morning!
在正午 12 点或以后浏览此脚本的用户将看到:
Hello!
在语句的不同部分之间可以加入 HTML 文本。例如,下面的脚本在If...Then...Else 语句中加入了 HTML,产生了与上面脚本同样的结果:
<% If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then %>
Good Morning!
<% Else %>
Hello!
<% End If %>
如果条件为真——也就是说,如果时间为午夜、午夜以后或者中午以前,那么 Web 服务器将跟随条件(“Good Morning”)的 HTML 发送到浏览器;否则,将跟随 Else 的 HTML(“Hello”)发送到浏览器。这种混合 HTML 和脚本命令的方式可以方便地将 If...Then...Else 语句变换为几行 HTML 文本。如果要在 Web 页上显示多处问候,前一个例子更为有用。只需要设置一次变量,就可以重复显示。
最好从脚本命令中将 HTML 文本返回到浏览器,而不用脚本命令散布 HTML 文本。要将文本返回到浏览器,请使用 ASP 的内建对象 Response。下面的例子可以产生与前一个脚本同样的结果:
<%
If Time >= #12:00:00 AM# And Time < #12:00:00 PM# Then
Response.Write "Good Morning!"
Else
Response.Write "Hello!"
End If
%>
Response.Write 将跟随的文本发送到浏览器。要动态构造返回浏览器的文本,请在语句中使用 Response.Write。例如,可能要构造包含一些变量值的字符串。 现在,先了解将脚本命令插入到 HTML 页中的几种方法。
在 ASP 定界符中可以包含用默认主脚本语言编写的过程。
如果正在使用 JScript 命令,可以插入花括号指示语句块直接进入 ASP 命令,而不用考虑它是否夹杂着 HTML 标签和文本。例如:
<% if (screenresolution == "low") { %>
This is the text version of a page.
<% } else { %>
This is the multimedia version of a page.
<% } %>
使用 ASP 指令
ASP 提供了您使用的脚本语言以外的指令。这是一些输出指令和处理指令。
ASP 的输出指 <%= expression %> 显示表达式的值。这个输出指令等同于使用 Response.Write 显示信息。例如,输出表达式 <%= sport %> 将文字 climbing(变量当前的值)传送到浏览器。
ASP 处理指令 <%@ keyword %> 为 ASP 提供处理 .ASP 文件所需的信息。例如,下面的指令将 VBScript 设为该页的主脚本语言:
<%@ LANGUAGE=VBScript %>
处理指令必须出现在 .ASP 文件的第一行。不要将处理指令放在包含 #include 语句的文件中。必须在 at 标记(@)和关键字之间加入一个空格。处理指令有下列关键字:
LANGUAGE 关键字设置页的脚本语言。
CODEPAGE 关键字设置页的代码页(字符编码)。
LCID 关键字设置页的现场标识符。
TRANSACTION 关键字指定将在事务处理环境下运行的页。
ENABLESESSIONSTATE 关键字指定 ASP 页是否使用会话状态。
可以在单个指令中包含多个关键字;关键字/值对之