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