摘要:本文介紹了ASP中動態包含ASP文件,並使其中ASP類(Class)可實例化的方法。
ASP中,includefile/virtual是優先腳本代碼處理的,所以無法使用include動態包含ASP文件。我們可以使用Execute函數動態執行所需代碼。
方法:
Execute(ASP代碼)
例子:(vbCrLf為換行符)
複製代碼代碼如下:
Execute("ClassclsAbc"&vbCrLf&"PublicFunctionoutput"&vbCrLf&"Response.Write123"&vbCrLf&"EndFunction"&vbCrLf&"EndClass")
複製代碼代碼如下:
DimobjAbc
SetobjAbc=NewclsAbc
objAbc.output
SetobjAbc=Nothing
使用時可以用從文件或數據庫讀取出ASP代碼再執行,注意,所執行的代碼中不應包含<%和%>
注意不要與Server.Execute混淆,Server.Execute參數為ASP虛擬路徑,並且使用該函數不但不能動態聲明Class類,甚至不可以給主程序段的變量賦值。
例子:
main.asp
複製代碼代碼如下:
DimstrAbc,objAbc
strAbc="Test"
Server.Execute("sub.asp")
Response.WritestrAbc
SetobjAbc=NewclsAbc
objAbc.output
SetobjAbc=Nothing
sub.asp
複製代碼代碼如下:
strAbc="Execute"
ClassclsAbc
PublicFunctionoutput
Response.Write"Class"
EndFunction
EndClass
執行main.asp後,將僅輸出Test,而objAbc則不能實例化。