国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP中Server.Execute和Execute實現(xiàn)動態(tài)包含(include)腳本的區(qū)別

2024-05-04 10:59:53
字體:
供稿:網(wǎng)友
最近打算嘗試一下在ASP中實現(xiàn)MVC架構(gòu),肯定有人問我:ASP都淘汰了,為什么還研究?這點我也知道,自從微軟放棄ASP 3.0轉(zhuǎn)向ASP.NET后,ASP已經(jīng)遠遠落后于和它幾乎同時開始的PHP和JSP,開源比閉源的好處就像PHP和ASP一樣,ASP說淘汰就淘汰,誰也救不了,但是值得注意的是ASP在中國市場還是蠻廣泛的,尤其是一些中小企業(yè)的一些應用,簡單的CMS不在話下,而且部署簡單,在一些老舊的Windows系統(tǒng)上,不需要安裝.NET Framework基本上就可以直接運行了,所以準備一個框架,還是有必要的,不過我這個是實驗性框架,只是驗證ASP究竟能不能實現(xiàn)類似PHP的MVC架構(gòu)。
好了,說了這么多,下面直接轉(zhuǎn)入正題吧。這個問題的緣由是因為我需要動態(tài)包含ASP文件,大家知道在ASP中只有一種include方法,那就是SSI(Server Side Include),基本上分為以下兩種:
復制代碼 代碼如下:
<!-- #include file="sample.asp" -->
<!-- #include virtual="sample.asp" -->

這兩種基本上大家第一種用得多一些,#include virtual包含的是虛擬路徑,一般虛擬目錄會用得到。但是這兩種都屬于靜態(tài)的,如果我們希望是動態(tài)包含,但不可以寫成:
復制代碼 代碼如下:
<!-- #include file="<%=MyVar%>" -->
<!-- #include virtual="<%=MyVar%>" -->

上面的寫法是錯誤的,可以理解為,#include指令是在ASP啟動腳本引擎執(zhí)行ASP<% %>標記之間腳本之前執(zhí)行的,也就是說#include不是ASP的工作,而是服務(wù)端程序,如IIS的翻譯工作,所以就不會理會你的ASP代碼了。
如何實現(xiàn)類似于PHP的include、include_once、require、require_once動態(tài)包含腳本方法呢?下面再來看ASP Server對象的一個方法:Server.Execute ,搜索所有的ASP特性,可以發(fā)現(xiàn)這個功能最類似于動態(tài)include,我們可以做個實驗:
Sample.inc.asp
復制代碼 代碼如下:
<%
Response.Write "Hello World!"
%>

test.asp
復制代碼 代碼如下:
<%
Server.Execute "Sample.inc.asp"
Response.Write "I am test.asp!"
%>

實際輸出應該是“Hello World!I am test.asp!”,說明Server.Execute在動態(tài)包含方面可以工作得很好,但是如果我想包含類或者函數(shù)呢?接下來做下面這個實驗:
Sample.class.asp
復制代碼 代碼如下:
<%
Class Sample
End Class
%>

test.asp
復制代碼 代碼如下:
<%
Server.Execute "Sample.class.asp"
Response.Write TypeName(Eval("New Sample"))
%>

直接運行,出現(xiàn)錯誤“Microsoft VBScript 運行時錯誤 錯誤 '800a01fa' 類沒有被定義: 'Sample'”,結(jié)果很令人失望,為什么會出現(xiàn)這種情況呢?查閱了MSDN,找到這段描述:“If a file is included in the calling page by using #include, the executed .asp will not use it. For example, you may have a subroutine in a file that is included in your calling page, but the executed .asp will not recognize the subroutine name. ” 貌似和我遇到的問題有些不一樣,難道Server.Execute是代碼隔離的?再進行下面這個實驗:
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 汾阳市| 察哈| 民丰县| 安丘市| 湄潭县| 保德县| 禄劝| 凤山市| 修武县| 土默特左旗| 阿克苏市| 抚松县| 安宁市| 新巴尔虎右旗| 庆元县| 讷河市| 许昌县| 临江市| 田阳县| 泽普县| 新巴尔虎左旗| 交城县| 邹平县| 南丹县| 荥经县| 温宿县| 霸州市| 西峡县| 松潘县| 红安县| 宾阳县| 扶风县| 富源县| 梧州市| 威海市| 微山县| 巫山县| 福泉市| 涿州市| 二手房| 武穴市|