ASP中利用execute实现动态包含文件的方法

时间:2022-09-18 22:27:21

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则不能实例化。