程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> asp動態include文件的方法

asp動態include文件的方法

編輯:ASP技巧

在實際工作中,我們在做ASP編程開發的時候會偶爾遇到這樣的情況:

1 <% 2 c=request("c") 3 if c=1 then url="a.ASP" 4 else 5   url="b.ASP" 6 end if 7 %> 8 <!--#include file="<%=url%>"-->(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)

我們希望能使用上面的方法動態include文件,但是上面的寫法是錯誤的,不能運行。如果真的遇到這樣的情況,又希望能夠動態include文件如何辦?
這裡介紹一下一個函數,來實現這樣的方法。
原理:使用fso讀取include文件的內容,然後去掉<%和%>,再把剩下的內容放到當前頁面上來,也就是fso讀取文件的原因了。具體代碼如下:

01 Function include(filename)     02     Dim re,content,fso,f,aspStart,ASPEnd      03     set fso=CreateObject("Scripting.FileSystemObject")     04     set f=fso.OpenTextFile(server.mappath(filename))    05     content=f.ReadAll     06     f.close     07     set f=nothing 08     set fso=nothing   09     set re=new RegExp   10     re.pattern="^\s*="   11     ASPEnd=1    12     aspStart=inStr(ASPEnd,content,"<%")+2  13     do while aspStart>ASPEnd+1     14     Response.write Mid(content,aspEnd,aspStart-ASPEnd-2)  15     aspEnd=inStr(ASPStart,content,"%\>")+2        16     Execute(re.replace(Mid(content,aspStart,aspEnd-ASPStart-2),"Response.Write "))  17     aspStart=inStr(ASPEnd,content,"<%")+2   18     loop      19     Response.write Mid(content,ASPEnd)  20     set re=Nothing 21 End Function(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)
有了這個函數,上面的代碼可以改成
1 <% 2 c=request("c") 3 if c=1 then 4  url="a.ASP" 5 else 6   url="b.ASP" 7 end if 8 call include(url) 9 %>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)
這樣就可以了
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved