ASP中利用execute实现动态包含文件的方法
2018-09-06 11:47
  摘要:本文介绍了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.WriteClass 
EndFunction 
EndClass
执行main.asp后,将仅输出Test,而objAbc则不能实例化。