在ASP中include文件形如 #include file=function.asp,这是最简单也是最常用的包含文件方法,青岛星网下面跟大家分享:根据不同的需求,包含不同的文件的函数。
ASP动态包含文件的实现函数
Function include(filename)
Dim re,content,fso,f,aspStart,aspEnd
set fso=CreateObject("Scripting.FileSystemObject")
set f=fso.OpenTextFile(server.mappath(filename))
content=f.ReadAll
f.close
set f=nothing
set fso=nothing
set re=new RegExp
re.pattern="^\s*="
aspEnd=1
aspStart=inStr(aspEnd,content,"%")+2
do while aspStart>aspEnd+1
Response.write Mid(content,aspEnd,aspStart-aspEnd-2)
aspEnd=inStr(aspStart,content,"%\&;")+2
Execute(re.replace(Mid(content,aspStart,aspEnd-aspStart-2),"Response.Write "))
aspStart=inStr(aspEnd,content,"%")+2
loop
Response.write Mid(content,aspEnd)
set re=nothing
End Function
其实是写一个动态包含的函数,这样每次调用时候代码简洁,也方便,使用方法:
include("***.asp")'注意,这里的include是函数名哦,不要搞混哦。
下面是其他网友的补充大家参考一下
ASP中,include file/virtual 是优先脚本代码处理的,所以无法使用include动态包含ASP文件。我们可以使用Execute函数动态执行所需代码。
方法:
Execute(ASP代码)
例子:(vbCrLf为换行符)
Execute("Class clsAbc"vbCrLf"Public Function output"vbCrLf"Response.Write 123"vbCrLf"End Function"vbCrLf"End Class")
Dim objAbc
Set objAbc = New clsAbc
objAbc.output
Set objAbc = Nothing
使用时可以用从文件或数据库读取出ASP代码再执行,注意,所执行的代码中不应包含%和%>
注意不要与Server.Execute混淆,Server.Execute参数为ASP虚拟路径,并且使用该函数不但不能动态声明Class类,甚至不可以给主程序段的变量赋值。
例子:
main.asp
Dim strAbc,objAbc
strAbc = "Test"
Server.Execute("sub.asp")
Response.Write strAbc
Set objAbc = New clsAbc
objAbc.output
Set objAbc = Nothing
sub.asp
strAbc = "Execute"
Class clsAbc
Public Function output
Response.Write "Class"
End Function
End Class
执行main.asp后,将仅输出Test,而objAbc则不能实例化。