#INCLUDE 插入档案内容

ASP 网页内容于 IIS (Internet Information Services) 伺服器执行 ASP 档案中,可以使用 #INCLUDE 指令,把另外一个 ASP 的档内容插入于当前页中来整体运行。#INCLUDE 例如在多个页面上需要共同使用的函数 Function、页首 Header、页尾 Footer、选单按钮以及共用区段等,易于日后的程式码维护管理。虽然类似 <iframe> 但产生之程式码是完整的一页。

使用 #INCLUDE 插入其他档案的指令,可以让将常用的程式码或 HTML 码写在一个档案中减少重复的程式码,也方便维护和修改。而且可以共用相关的变数、函数,但是如果使用判断式是时会全部侦测,与 Server.Execute 不同各有优缺点。


#include Virtual 表示虚拟目录

路径是以 Virtual Directory 虚拟目录开始「IIS (Internet Information Services) 目录开始」例如 Inetpub\wwwroot 算起之路径,需要注意其路径是相对于网站的 Root Directory 根目录,而不是目前执行的 ASP 档案所在的目录。

C:\Inetpub\wwwroot
<!--#include virtual = "mySite/Product/Header.asp"-->

#include File 表示相对的路径。

相对路径于含有引用 #INCLUDE 档案的目录「目前位置相同之目录」。

<!--#include file = "Header.asp"-->

IIS 伺服器若是有 启用上层路径,则可以使用下例来插入上层的档案,例如需要插入上上层目录的页尾档案。

<!--#include file = "../../Footer.asp"-->


Server.Execute 单独运行

Server.Execute("Footer.asp")

Server.Execute#INCLUDE 指令的不同之处 :

差异上 Server.Execute 指令是将该页面之内容插入目前的位置来「单独运行」与原始程式码不关联,所以与原始程式码「变数」无法共同使用。#INCLUDE 则是将页面的原始程式码加入当前位置再做为一个「整体运行」亦可说是合成一体的。

使用上如果插入的页不需要与原始程式关联则用 Server.Execute 虽然变数无法共同使用,但浏览中未使用到他时并未运行不会产生伺服器负担因为 #INCLUDE 则是执行前将插入档案,伺服器需要处理相关的档案包括未需执行的。

例如在插入的页写成错误的程式码使用 #INCLUDE 的方式可发现,虽然未执行于该页浏览亦出现错误。



Execute(expression)

Execute 是将函数的参数,当作运算式 expression 来执行,可以用来建立变数名或其变数的值等作用,与 Server.Execute 是不同的功能,使用上似乎比较少。