ASP中利用execute实现动态包含文件的方法
程序员文章站
2024-01-20 21:46:58
摘要:本文介绍了asp中动态包含asp文件,并使其中asp类(class)可实例化的方法。 asp中,include file/virtual 是优先脚...
摘要:本文介绍了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则不能实例化。
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则不能实例化。