ASP 包括文件

#include 指令

通过使用 #include 指令,我们可以在服务器执行 ASP 文件之前,把另一个ASP文件插入这个文件中。

#include 命令用于在多个页面上创建需要重复使用的函数、页眉、页脚或者其他元素等。


如何使用 #include 指令

这里有一个名为 "mypage.html" 的文件:

<!DOCTYPE html>
<html>
<body>
<h3>Words of Wisdom:</h3>
<p><!--#include file="wisdom.inc"--></p>
<h3>The time is:</h3>
<p><!--#include file="time.inc"--></p>
</body>
</html>

这是 "wisdom.inc" 文件:

"One should never increase, beyond what is necessary,
the number of entities required to explain anything."

这是 "time.inc" 文件:

<%
Response.Write(Time)
%>

在浏览器中查看的源代码应该类似这样:

<!DOCTYPE html>
<html>
<body>
<h3>Words of Wisdom:</h3>
<p>"One should never increase, beyond what is necessary,
the number of entities required to explain anything."</p>
<h3>The time is:</h3>
<p>11:33:42 AM</p>
</body>
</html>


Including 文件的语法:

如需在 ASP 中引用文件,请把 #include 命令置于注释标签之中:

<!--#include virtual="somefilename"-->

或者:

<!--#include file ="somefilename"-->

关键词 Virtual

关键词 virtual 指示路径以虚拟目录开始

如果 "header.inc" 文件位于虚拟目录 /html 中,下面这行代码会插入文件 "header.inc" 中的内容:

<!-- #include virtual ="/html/header.inc" -->

关键词 File

关键词 File 指示一个相对的路径。相对路径起始于含有引用文件的目录。

假设文件位于 html 文件夹的子文件夹 headers 中,下面这段代码可引用 "header.inc" 文件的内容:

<!-- #include file ="headers\header.inc" -->

注意:被引用文件的路径是相对于引用文件的。假如包含 #include 声明的文件不在 html 目录中,这个声明就不会起效。

您也可以使用关键词 file 和语法 (..\) 来引用上级目录中的文件。


提示和注释

在上面的一节中,我们使用 ".inc" 来作为被引用文件的后缀。注意:假如用户尝试直接浏览 INC 文件,这个文件中内容就会暴露。假如被引用的文件中的内容涉及机密,那么最好还是使用 "asp" 作为后缀。ASP 文件中的源代码被编译后是不可见的。被引用的文件也可引用其他文件,同时一个 ASP 文件可以对同一个文件引用多次。

重要事项: 在脚本执行前,被引用的文件就会被处理和插入。

下面的代码无法执行,这是由于 ASP 会在为变量赋值之前执行 #include 命令:

<%
fname="header.inc"
%>
<!--#include file="<%fname%>"-->

不能在脚本分隔符之间包含文件引用:

<%
For i = 1 To n
  <!--#include file="count.inc"-->
Next
%>

但是这段脚本可以工作:

<% For i = 1 to n %>
  <!--#include file="count.inc" -->
<% Next %>