asp动态include文件的方法asp

/ / 2023-06-18   阅读:2502
asp动态include文件的方法...

在实际工作中,我们在做asp编程开发的时候会偶尔遇到这样的情况:

<%
c=request("c")
if c=1 then url="a.asp"
else
  url="b.asp"
end if
%>
<!--#include file="<%=url%>"-->

我们希望能使用上面的方法动态include文件,但是上面的写法是错误的,不能运行。如果真的遇到这样的情况,又希望能够动态include文件如何办?


这里介绍一下一个函数,来实现这样的方法。


原理:使用fso读取include文件的内容,然后去掉<%和%>,再把剩下的内容放到当前页面上来,也就是fso读取文件的原因了。具体代码如下:

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


有了这个函数,上面的代码可以改成

<%
c=request("c")
if c=1 then
 url="a.asp"
else
  url="b.asp"
end if
call include(url)
%>

这样就可以了


我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈