在Active Sever Pages中使用VBScript

在这一节中，你将学习如何创建可以执行Visual Basic脚本的ASP网页。在本书的第四部分，“用对象和组件创建ASP网页”中，你将学习到关于Active Sever Pages的大部分内容。目前，你可以把ASP网页当作HTML网页看待，不过是把文件名后缀改为.asp。

为了能使用本章中的例子，你需要把所有的文件以后缀名.asp保存，而不是.cfm。如果你不这样做，则脚本不会被解释。当包含脚本的ASP网页被下载时，脚本的实际文本将会出现在浏览器窗口中。这当然是你所不希望见到的。

要使用本章中的例子，你还必须把文件保存在Web服务器的目录下。例如，你可以把文件保存在wwwroot目录下。对要执行的脚本来说，网页必须保存在一个Web服务器可以访问的目录下。

当你下载一个ASP网页时，你不要直接从磁盘上下载。例如，如果你把一个ASP网页保存为C:\Inetpub\wwwroot\mypage.asp，你不要通过在浏览器的地址条中键入这个文件路径来下载该文件。你应该通过Web服务器申请这个文件。例如，如果你的服务器名为mysever，文件保存在Web服务器的根目录下，在浏览器的地址条中键入地址

http://mysever/mypage.asp即可。同样，如果你不这样做，该ASP网页中的脚本不会被解释。

你还必须把保存ASP网页的目录设置为允许执行脚本或允许执行程序。如果没有得到许可，Web服务器不会执行一个脚本。要了解这方面的更多信息，请参见第2章，“安装和使用Internet Information Sever”。

注意

当你修改一个ASP网页时，你会发现修改后的内容没有反映到已下载到浏览器中的网页中。这是web服务器使用了内存缓冲区的结果。使用内存缓冲区是为了提高性能。当你开发一个站点时，你也许要取消这个特性。（参见第二章。）

把Visual Basic脚本集成到Active Sever Pages中

把VBScript的脚本集成到Active Sever Pages中的方法不止一种。（要了解详细信息，请参见第13章，“建立Active Sever Pages”。）最容易的方法是使用两个特殊字符<%和%>。例如，下面的Visua Basic脚本在一个ASP网页中自动执行：

<HTML>

<HEAD>

<TITLE> Simple VBScript</TITLE>

</HEAD>

<BODY>

<% FOR myvar=1 TO 500%>

<B> Hello Magic!</B>

<% NEXT %>

</BODY>

</HTML>

这个脚本把句子“Hello Magec!”在一行中显示500次（见图8.1）。注意此例中字符对<%和%>的使用。它们指明Visual Basic脚本的开始和结束。

图8.1 用VBScript来创建ASP页

字符对<%和%>的作用与HTML中的字符对<和>的作用非常相似。不过是<和>用来指明HTML标识，<%和%>用来指明脚本。当Web服务器看到这个特殊字符对时，就试图把它们之间的内容解释为一个脚本。

例如，文本<% FOR myvar=1 TO 500 %>和文本<% NEXT %>都是Visual Basic脚本的例子。这两个脚本结合起来构成了一个迭代500次的循环。

还应注意此例中Visual Basic脚本如何与HTML标识相集成。在ASP网页中，脚本与HTML可以自由混合。文本<B> Hello Magic! </B>不是Visual Basic脚本的一部分，<B>标识是HTML的成分而不是VBScript的。但是，文本<B> Hello Magic! </B>会被解释和显示500次，因为它被括在Visual Basic脚本中。

当把Visual Basic脚本集成到ASP网页中时，你要注意另外一个表达式。你可以用符号对<%=和%>来打印变量或函数的值。考虑下面这个简单的ASP网页：

<HTML>

<HEAD>

<TITLE> Simple VBScript</TITLE>

</HEAD>

<BODY>

<%FOR myvar=1 TO 500%>

<%=myvar%><B>: Hello Magic!</B>

<% NEXT %>

</BODY>

</HTML>

这个例子也把“Hello Magic!

”显示500次。但是，在每个“Hello Magic!”前面有一个数字，该数字代表变量myvar的值。

表达式<%=myvar%>打印变量myvar的值。符号对<%和%>用来指明一个脚本，而符号对<%=和%>用来指明变量或函数的值。跟在表达式<%=后面的任何内容都将被打印在浏览器窗口中。

这里有一个用符号对<%=和%>打印函数值的例子。下面的ASP网页在网页顶部打印当前的日期和时间：

<HTML>

<HEAD>

<TITLE> Simple VBScript</TITLE>

</HEAD>

<BODY>

This page was created on :<%=NOW%>

<BR>Have a nice day!

</BODY>

</HTML>

VBScript函数NOW返回当前的系统日期和时间。当这个文件被下载到浏览器中时，当前的日期和时间出现在网页的顶部（见图8.2）。

图8.2 用ASP页显示时间和日期

你不要把没有返回值的VBScript命令放在符号对<%=和%>之间。这会导致错误。例如，不要这样做：

<%=FOR I=1 TO 100%>

不要混淆了符号对<%和%>与符号对<%=和%>的作用。一个是用来指明脚本的开始和结束；另一个用来显示变量和函数的值。