我们先构造了如下几个文件:
web
├index.asp
├inc
├├const.asp
├├conn.asp
├├check.js
├data
└└db1.mdb
各文件内容如下:
index.asp:
<!-- #include file="inc/conn.asp" -->conn.asp:
<!-- #include file="const.asp" -->
<%
'这边创建Connection对象(略)
'我们输出数据地址看看
Response.Write(dbpath)
%>const.asp:
<script language="javascript" type="text/javascript" src="inc/check.js"></script>
<script language="javascript" type="text/javascript" src="check.js" runat="server"></script>
<%
Dim dbpath
dbpath = Server.MapPath("data/db1.mdb")
%>分析:
在上述结构中,我们需测试conn.asp文件中怎么包含const.asp?
如果是相对于index.asp文件,那么我们应写成:
<!-- #include file="inc/const.asp" -->
如果是相对于conn.asp文件,那么我们应写成:
<!-- #include file="const.asp" -->
测试结果证实应是相对于conn.asp文件的!
结论:
当一个文件包含另一个文件时,被包含文件(const.asp)的地址应是相对于包含文件(conn.asp)地址的,而不是相对于最终包含文件(index.asp)的地址!但被包含文件(const.asp)中与路径相关的信息(数据库路径、客户端脚本地址等)则应是相对于最终包含文件(index.asp)地址的!
评论(0)
暂无评论。