您好,欢迎来到点滴吧! 手机版
点滴吧www.diandiba.com
记录点点滴滴,尽在点滴吧
  • 文章
  • 文章
  • 特效
  • 素材
  • 景点
您现在的位置:首页 > ASP教程 > 文章正文
asp动态include文件的方法
更新时间:2015/1/5 23:12:56   点击:1812次

在实际工作中,我们在做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)
%>

这样就可以了

相关文章
导航分类
热门文章
关于我们| 联系我们| 免责声明| 网站地图|
CopyRight 2012-2015 www.diandiba.com - 点滴吧 All Rights Reserved
滇ICP备09005765号-2