ASP入门(十七)-ASP #include

通过使用 #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 文件后,显示效果如下:

20150818003

通过【查看页面源代码】,它将如下所示:

20150818004


引入文件的语法

如需在 ASP 页面中引用文件,请把 #include 指令放在注释标签 <!-- --> 中:

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

or

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

#include virtual 后面跟的文件是以虚拟目录开始的“绝对路径“。

#include file 后面跟的是文件的相对路径,不可以使用绝对路径,例如:

我们通过例子来学习区别,需要调用的文件(time.asp 和 wisdom.inc)存放在 inc 目录中,主页面(mypage.asp)存放在 test 目录中,树结构下图所示:

20150818005

我们的 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>
......

调用后显示效果如下:

20150818006


特别提示

通过上面的部分,我们已经使用了 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 文件可以对同一个文件多次引用。


示例代码下载

IncludeTest.RAR

原文地址:https://www.cnblogs.com/pchmonster/p/4739561.html