asp中動態include的方法

來源:互聯網
上載者:User
推薦
==================
asp動態include檔案
使用範例:include("youinc.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
%>
==================

<%if xxx = "yyy" then%>
<!--#include file="file1.asp"-->
<%else%>
<!--#include file="file2.asp"-->
<%end if%>
這會下載沒有必要的文檔,影響載入效率。

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來,這點很重要,使用時要注意。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.