通过使用 #include 指令,您可以在服务器执行 ASP 文件之前,把另一个 ASP 文件的内容插入到这个 ASP 文件中。
如何使用 #include 指令
这里有一个名为 mypage.asp 文件:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!doctype html> <html> <head> <meta charset="utf-8"> <title>如何使用 #include 指令</title> </head> <body> <h3>至理名言</h3> <!-- 这里引用了 wisdom.inc 文件 --> <p><!--#include file="wisdom.inc"--></p> <h3>现在时间是:</h3> <!-- 这里应用了 time.asp 文件显示当前时间--> <p><!--#include file="time.asp"--></p> </body> </html>
这是 wisdom.inc 文件内容:
“优秀的代码是它自己最好的文档。当你考虑要添加一个注释时,问问自己,“如何能改进这段代码,以让它不需要注释?” —— Steve McConnell 《代码大全》
这是 time.asp 文件内容:
<% Response.Write(Time) %>
在 Firefox 浏览器中运行 mypage.asp 文件后,显示效果如下:
通过【查看页面源代码】,它将如下所示:
引入文件的语法
如需在 ASP 页面中引用文件,请把 #include 指令放在注释标签 <!-- --> 中:
<!--#include virtual="somefilename" --> or <!--#include file="somefilename" -->
#include virtual 后面跟的文件是以虚拟目录开始的“绝对路径“。
#include file 后面跟的是文件的相对路径,不可以使用绝对路径,例如:
我们通过例子来学习区别,需要调用的文件(time.asp 和 wisdom.inc)存放在 inc 目录中,主页面(mypage.asp)存放在 test 目录中,树结构下图所示:
我们的 mypage.asp 分别用两种方式进行引用,主要代码如下:
...... <body> <h1>#include file 相对地址方式的引用演示</h1> <h3>至理名言</h3> <p><!--#include file="../inc/wisdom.inc"--></p> <h3>现在时间是:</h3> <p><!--#include file="../inc/time.asp"--></p> <hr> <h1>#include virtual 绝对地址方式的引用演示</h1> <h3>至理名言</h3> <p><!--#include virtual="/inc/wisdom.inc"--></p> <h3>现在时间是:</h3> <p><!--#include virtual="/inc/time.asp"--></p> </body> ......
调用后显示效果如下:
特别提示
通过上面的部分,我们已经使用了 INC 作为被引用文件的文件扩展名。如果用户尝试直接浏览 INC 文件,这个文件中的内容会被显示出来。最好还是使用 ASP 作为扩展名。
在脚本执行前,被引用的文件就会被处理和插入。下面的脚本无法运行,就是因为 ASP 会在为变量赋值前执行 #include 指令,如下:
<% fname = "/inc/wisdom.inc" %> <!--#include virtual="<%fname%>" -->
运行后会报错,提示找不到包含的文件 <%fname%>。
你不能在脚本分隔符<%%>之间包含文件引用,也是无法执行的,如下:
<% For i = 1 To 10 <!--#include virtual="/inc/wisdom.inc"--> Next %>
但是下面的这段代码是可以执行的,引用 10 遍,如下:
<%For i = 1 To 10%> <!--#include virtual="/inc/wisdom.inc"--> <%Next%>
被引用的文件可以引用其他文件,同一个 ASP 文件可以对同一个文件多次引用。
示例代码下载
时间: 2024-11-05 22:53:41