当前位置: 首页 > 图文教程 > 网络编程 > ASP > 关于#include的补充说明

ASP
ASP系列讲座(十)ASP 内建对象
ASP系列讲座(十一)ActiveX 组件
ASP系列讲座(十二)向浏览器发送内容
ASP系列讲座(十三)向浏览器传送脚本
ASP系列讲座(十四)包含文件
ASP系列讲座(十五)使用 HTML 表格
ASP系列讲座(十六)访问数据库
ASP系列讲座(十七)调试 ASP 脚本
ASP系列讲座(十八)管理应用程序
ASP系列讲座(十九)管理会话
ASP系列讲座(二十)维护 ASP 应用程序的安全
ASP系列讲座(二十一)创建事务性脚本
ASP系列讲座(二十二)使用国际站点
ASP系列讲座(二十三)编写跨平台应用程序
利 用 ISAPI 实 现 向 数 据 库 中 添 加 记 录 (一)
利 用 ISAPI 实 现 向 数 据 库 中 添 加 记 录 (二)
利 用 ISAPI 实 现 向 数 据 库 中 添 加 记 录 (三)
利 用 ISAPI 实 现 向 数 据 库 中 添 加 记 录 (四)
利 用 ISAPI 实 现 向 数 据 库 中 添 加 记 录 (五)
利 用 ISAPI 实 现 向 数 据 库 中 添 加 记 录 (六)

ASP 中的 关于#include的补充说明


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 73 ::
收藏到网摘: n/a

  许多朋友都在问是否能动态的使用include?这在精华区中已经都有许多的篇幅说明了(关键字:include),在这里我再强调一下,<!--#include file="<%fileName%>"-->是绝对行不通的,要是使用
<%if xxx = "yyy" then%>
<!--#include file="file1.asp"-->
<%else%>
<!--#include file="file2.asp"-->
<%end if%>
这无形中会下载没有必要的档案,影响载入网页的速度。如何解决这个问题呢?在精华区中的
1)http://www.dev-club.com/club/bbs/showEssence.asp?id=14354
2)http://www.dev-club.com/club/bbs/showEssence.asp?id=5246&page=1
都做得很好的说明,在这里我不想重复。这些方法有:

1)
If xxx = "yyy" Then
  Server.Execute("file1.asp")
Else
  Server.Execute("file2.asp")
End If

2)
If xxx = "yyy" Then
  Server.transfer("file1.asp")
Else
  Server.transfer("file2.asp")
End If

3)
if xxx = "yyy" then
filespec = "file2.asp"
else
filespec = "file2.asp"
end if
filespec = server.mapPath(filespec)
scr = "scripting.fileSystemObject"
set fs = server.createobject(scr)
set f = fs.openTextFile(filespec)
content = f.readall
set f = nothing
set fs = nothing
response.write(content)

我要说明的就是,如果使用以上方法来实现include功能的时候,必须注意的地方。
我们可以将<!--#include file="file.asp"-->中被包含的网页file.asp看成是包含了file.asp的网页的有机组成部分,只是将本来属于该网页的内容以另一个档案形式保存罢了,可以这样说他们本来就是一个网页,所以,被包含的网页file.asp继承了包含了file.asp的网页的所有的参数设定,包括Session 但是,其他的方法并非如此,在html语法部分可以和主网页共享,asp部分却是独立的,特别的Session在一般情况下是不能从主网页中传递到被包含的网页file.asp来,这点很重要,使用时要注意。