欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > ASP動態include文件

ASP動態include文件

熱門標簽:海南銀行智能外呼系統商家 電銷機器人違法了嗎 許昌智能電銷機器人公司 遼寧銀行智能外呼系統 遼寧正規電銷機器人 姜堰電銷機器人 澳大利亞城市地圖標注 上海浦東騰訊地圖標注位置 辰溪地圖標注

 經常有這樣的要求,根據不同的需求要求include不同的文件如各個人的不同設置,所以要求能動態include文件受! #include file="filename.asp" --> 宏限制
    必須存在該文件并且會預先編譯(不管前面是否加以條件)

    經常有這樣的要求,根據不同的需求要求include不同的文件
    如各個人的不同設置,所以要求能動態include文件。

    代碼如下:

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("youinc.asp")

ASP可以動態Include文件

% 
'得到用戶所在的省份 
Dim Province 
Province = Request.form("Province") 
'下面顯示這個省份相關的信息 
%> 
!--#include virtual="/ Province/%= Province%>"--> 

你覺得上面的代碼可以工作嗎?不!簡單地使用ASP來達到動態包含,你不能達到你想要的效果。為什么?因為:Include命令先于ASP代碼而得到執行,所以,上面的代碼并沒有按照作者的意愿,先得到用戶所在的省份,再包含這個省份的信息!
如果你確實需要動態包含,你可以這樣做:

%
Select Case Province
Case 1: %>
!--#include file="1.asp"
% Case 2: %>
!--#include file="2.asp"
% Case 3: %>
!--#include file="3.asp"
% End Select %>

應該說,這段代碼可以得到你想要的結果。但是,由于你的用戶可能來自于33個省,你難道包含33個文件?特別要說明的是,SSInc.dll是不知道你究竟需要哪個包含文件的(事實上,這時候Province還沒有值),所以,她把所有的文件都包含進來了!你可以想象,這時候的文件有多大!然后,ASP.DLL會去掃描這個文件中的ASP代碼,然后執行!
所以,每當這樣的時候,你應該考慮其他的思路,比如數據庫,或者采用FileSystemObject。

怎樣動態Include文件?

解答
ASP程序員經常面臨的最大挑戰之一是動態Include文件。由于#include 在ASP代碼執行之前處理,所以,看起來,動if/else的腦筋是不可能的。

真是這樣嗎?
根據你使用Include的目的,以及你將Include的文件數目,使用if/else也許可以解決問題。但這絕對不是任何時候可以奏效的,而且也不是一種有效的解決辦法,因為你需要做許多的手工工作。

假設有兩個樣本HTM文件,1.htm和2.htm,為簡化起見,假設文件的內容如下:

!-- 1.HTM: -->
font color=#ff0000>This is 1.htm/font>
!-- 2.HTM: -->
font color=#0000ff>This is 2.htm/font>

現在我們來試試動態Include:

% 
if request.querystring('param')='2' then 
%> 
!--#include file='2.htm'--> 
% 
else 
%> 
!--#include file='1.htm'--> 
% 
end if 
%>

請注意:上面的兩個#include 實際上都得到了處理。你可以實際運行一下,看看效果:http://localhost/Test.asp?param=1

http://localhost/Test.asp?param=2
http://localhost/Test.asp

上面我們是把一個querystring作為條件。你還可以把時間、日期、瀏覽器版本等作為條件。但是,條件越復雜,這種方法的效率越差。下面提供了另外一種思路:

% 
if request('param')='2' then 
filespec = '2.htm' 
else 
filespec = '1.htm' 
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) 
%>

在IIS5.0/ASP3.0中,有兩種新的方法來支持“動態包含”:

%
server.transfer filename
server.execute filename
%>

如果正好使用的是IIS5.0和ASP3.0,那么Ok! 但是IIS5.0需要運行在Windows 2000上。

Asp包含文件include動態包含方法(含變量)

很多時候,由于程序設計需要,要求在asp的include包含文件里調用動態的文件。如!--#include file="map1.asp"-->其中的1是個動態參數,需要request獲取。但可惜的是,include語句里并不能含有變量,否則將提示找不到文件錯誤。本文將提供3種方法解決該問題。

首先,我們需要了解,包含文件的提示和警告信息:被包含的文件可以包含其他文件。只要“#include”命令不導致循環,.asp 文件也可以多次包含同一文件。例如,如果文件 First.asp 包含文件 Second.inc,則 Second.inc 不能反過來包含 First.asp。文件也不能包含其自身。ASP 檢測這樣的循環或嵌套錯誤,生成錯誤消息,并停止處理請求的 .asp 文件。
解決方法一:FSO調用方法

ASP語言是強大易用的語言,我們不要把自己的思維局限固定在一個角落里,“條條大道通羅馬”,一個思路不通,換個思路吧。

本方法采用變通的方法實現同樣的包含功能。即FSO調用。代碼如下:

%
Function getFileContents(strIncludeFile) '函數:讀取包含文件內容
Dim objFSO,objText,strPage
Set objFSO = Server.CreateObject("Scripting.FileSystemObject") '調用FSO對象
Set objText = objFSO.OpenTextFile(Server.MapPath(strIncludeFile))
getFileContents = objText.ReadAll
objText.Close
Set objText = Nothing
Set objFSO = Nothing
End Function
dim p
p=request("p") '2種方式:request.form ,request.querystring
response.write getFileContents("map"p".asp")
%>

這樣,利用fso函數讀取包含文件的內容,然后用response.write把包含文件的內容輸出,即實現和include命令同樣的功能了,輕松實現自由輸出諸如 map1.asp,map2.asp… 等文件內容了。

解決方法二:if...elseif...

此方法適用于要包含的文件數量不多的情況下,也是懶人+笨人的方法,呵呵。代碼如下:

%if a=1 then%>
!--#include file="map1.asp"-->
%elseif a=2 then%>
!--#include file="map2.asp"-->
%elseif a=3 then%>
!--#include file="map3.asp"-->
%end if%>

解決方法三:select case

方法和第二種差不多,稍微好點。代碼如下:

%select case p
case 1%>
!--#include virtual='inc/****1.asp'-->
%case 2%>
!--#include virtual='inc/****2.asp'-->
%case 3%>
!--#include virtual='inc/****3.asp'-->
%case 4%>
!--#include virtual='inc/****4.asp'-->
%end select%>

如果你有其他更好的方法,歡迎與我們交流。您可以把你您的想法留在博客評論里,我們期待與您的探討。

補充:關于asp的include包含命令,需要注意以下方面。

ASP程序在執行腳本命令之前就已經包含文件。因此,不能使用腳本命令來建立被包含的文件名。舉例來說,因為 ASP 試圖在將文件名指派給變量 name 之前執行“#include”命令,所以下面的腳本無法打開文件 Header1.inc。

!-- 該腳本將失敗 -->
% name= header1.inc %>
!-- #include file="%= name %>" -->

腳本命令和過程必須完全包含在腳本分隔符 % 和 %> 內,即 HTML 標簽 SCRIPT> 和 /SCRIPT>,或 HTML 標簽 OBJECT> 和 /OBJECT> 內部。也就是說,不能在包含 .asp 文件中打開腳本分隔符,并在被包含的文件中關閉分隔符;腳本或腳本命令必須是一個完整的單元。例如,下面的腳本將不起作用:

!-- 該腳本將失敗 -->
%
For i = 1 To n
主文件中的語句
!-- #include file="header1.inc" -->
Next
%>
但下面的腳本會起作用:
%
For i = 1 to n
主文件中的語句
%>
!-- #include file="header1.inc" -->
% Next %>

如果 ASP 腳本包含的文件中存在包含腳本不需要的大量函數和變量,則這些無用的結構反而會影響性能,并最終降低 Web 應用程序的伸縮性。因此,通常將包含文件分成多個小文件,并且只包含那些服務器端腳本必需的文件,而不是包含那些帶有冗余信息的一個或多個大型包含文件。

您可能感興趣的文章:
  • ASP中Server.Execute和Execute實現動態包含(include)腳本的區別
  • 分享一個好東東,動態Include文件 (Dynamic File Includes)
  • asp動態include文件,方便多模板的實現

標簽:深圳 威海 崇左 撫州 伊春 西藏 晉城 銅川

巨人網絡通訊聲明:本文標題《ASP動態include文件》,本文關鍵詞  ASP,動態,include,文件,ASP,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP動態include文件》相關的同類信息!
  • 本頁收集關于ASP動態include文件的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲最新视频在线播放| 亚洲v日本v欧美v久久精品| 麻豆精品一区二区综合av| 丰满人妻一区二区三区免费视频棣| 麻豆明星ai换脸视频| 国产日韩欧美a| 国产乱理伦片在线观看夜一区| 37p粉嫩大胆色噜噜噜| 欧美一区二区三区白人| 一区二区三区电影在线播| 91麻豆蜜桃一区二区三区| 美女的奶胸大爽爽大片| 亚洲色图在线视频| 91香蕉国产在线观看软件| 91国产福利在线| 亚洲欧美日韩国产一区二区三区| 99国产精品久久久久| 色天使久久综合网天天| 伊人婷婷欧美激情| 国产乱国产乱老熟300部视频| 欧美丝袜自拍制服另类| 亚洲国产精品精华液网站| 在线观看一区二区三区四区| 91精品久久久久久蜜臀| 日本三级亚洲精品| caopeng视频| 国产午夜精品一区二区| 国产盗摄视频一区二区三区| 麻豆视频在线免费看| 亚洲欧美另类小说视频| 久久国产劲爆∧v内射| 欧美一级片在线观看| 久久av资源网| 糖心vlog免费在线观看| 亚洲免费av观看| 国产xxxx视频| 337p粉嫩大胆噜噜噜噜噜91av| 国产美女视频91| 午夜精品一区二区三区视频| 亚洲精品免费电影| 国产视频久久久久久| 26uuuu精品一区二区| 成人综合在线观看| 欧美午夜精品免费| 热久久一区二区| 国产福利在线导航| 亚洲六月丁香色婷婷综合久久| 9.1在线观看免费| 亚洲精品一区二区三区影院| 成人国产精品视频| 欧美一区二区在线免费观看| 韩国av一区二区三区四区| 高h视频免费观看| 午夜伦理一区二区| 一本在线免费视频| 亚洲自拍欧美精品| japanese中文字幕| 亚洲欧美日韩小说| 三上悠亚影音先锋| 亚洲私人影院在线观看| 粉嫩av懂色av蜜臀av分享| 国产目拍亚洲精品99久久精品| 91麻豆视频网站| 精品国产一区久久| 99久久综合国产精品| 欧美一区二区三区视频| 成人性生交大片免费| 日韩一区二区三区四区五区六区| 国产成人午夜精品影院观看视频 | 亚洲精品你懂的| 中国毛片在线观看| 亚洲免费观看高清| 超薄肉色丝袜一二三| 亚洲激情av在线| 中文字幕有码在线播放| 亚洲自拍与偷拍| 国产一区在线观看免费| 日韩国产精品久久久久久亚洲| 杨钰莹一级淫片aaaaaa播放| 奇米精品一区二区三区在线观看一 | 欧美性大战久久久久久久蜜臀| 麻豆91在线观看| 欧美三级欧美一级| 国产高清一区日本| 日韩三级电影网址| 特种兵之深入敌后| 国产日韩欧美在线一区| 中文视频在线观看| 亚洲欧美另类久久久精品| 日韩av片在线| 午夜激情综合网| 欧美在线看片a免费观看| 国产一二精品视频| 日韩免费电影一区| 美女露出粉嫩尿囗让男人桶| 日韩一区欧美一区| 特黄一区二区三区| 久久av中文字幕片| 4438成人网| 91麻豆高清视频| 国产精品青草综合久久久久99| 国精产品一区一区三区免费视频| 亚洲综合视频网| 色综合欧美在线| 国产精品夜夜嗨| 久久久久久久网| 亚洲人成人无码网www国产| 亚瑟在线精品视频| 欧美丝袜丝交足nylons| 99v久久综合狠狠综合久久| 中文av一区二区| 国产又粗又硬视频| 精品一区二区在线观看| 日韩欧美精品三级| 久久午夜夜伦鲁鲁片| 午夜精品久久久久影视| 欧美欧美欧美欧美首页| ass极品水嫩小美女ass| 亚洲乱码中文字幕综合| 色偷偷久久一区二区三区| 福利电影一区二区| 国产精品丝袜黑色高跟| 久久久久久视频| 国产成人午夜精品影院观看视频 | 日韩欧美亚洲另类制服综合在线| 欧美激情 亚洲| 亚洲不卡av一区二区三区| 欧美精品日韩精品| 波多野结衣视频播放| 午夜免费欧美电影| 3d成人动漫网站| 女同性恋一区二区三区| 青青草97国产精品免费观看无弹窗版| 91麻豆精品久久久久蜜臀| 日韩精品视频一区二区| 日韩在线播放一区二区| 欧美大片在线观看一区二区| wwwwww日本| 国产尤物一区二区在线| 国产欧美日韩另类一区| 99自拍视频在线| 99久久精品国产网站| 亚洲最大色网站| 欧美一区二区三区日韩视频| 国产交换配乱淫视频免费| 精品一区二区三区香蕉蜜桃| 国产婷婷色一区二区三区四区| 国产人与禽zoz0性伦| 不卡区在线中文字幕| 一区二区视频在线看| 欧美一级欧美三级| mm131丰满少妇人体欣赏图| 国产一区二区三区日韩| 国产精品的网站| 欧美亚洲国产一区二区三区va| 美女露出粉嫩尿囗让男人桶| 美女在线一区二区| 欧美国产成人精品| 在线精品亚洲一区二区不卡| 国产视频久久久久久| 国产美女在线观看一区| 亚洲情趣在线观看| 日韩一区二区视频在线观看| 激情高潮到大叫狂喷水| 91啪九色porn原创视频在线观看| 一区二区三区四区高清精品免费观看 | 国产成人亚洲综合色影视| 亚洲精品一二三| 日韩三级伦理片妻子的秘密按摩| 992在线观看| 91亚洲资源网| 日韩1区2区3区| 国产欧美精品一区aⅴ影院| 欧美专区在线观看一区| 人妻精品久久久久中文字幕 | 欧美大肚乱孕交hd孕妇| 永久免费看mv网站入口| 师生出轨h灌满了1v1| 精品在线视频一区| 亚洲欧美日韩国产成人精品影院 | 亚洲无人区码一码二码三码的含义| 国产成人aaa| 亚洲国产成人av| 久久久综合视频| 欧洲一区二区三区在线| av女人的天堂| 91看片淫黄大片一级在线观看| 老司机精品视频线观看86| 亚洲天堂a在线| 欧美成人女星排行榜| 色噜噜久久综合| 无码一区二区三区在线| 91啪在线观看| 国产一区二区伦理| 亚洲二区视频在线| 中文一区二区完整视频在线观看| 91精品国产黑色紧身裤美女| 超碰手机在线观看| 无码人妻精品一区二区中文| wwwxxx色|