通过使用 #include 指令,您可以在服务器执行 ASP 文件之前,把另一个 ASP 文件的内容插入到这个 ASP 文件中。
如何使用 #include 指令
这里有一个名为 mypage.asp 文件:
如何使用 #include 指令至理名言现在时间是:
这是 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 分别用两种方式进行引用,主要代码如下:
#include file 相对地址方式的引用演示至理名言现在时间是:#include virtual 绝对地址方式的引用演示至理名言现在时间是:
调用后显示效果如下:
特别提示
通过上面的部分,我们已经使用了 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 文件可以对同一个文件多次引用。
示例代码下载