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

摘要:本文介绍了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则不能实例化。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3112.html