当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP中利用execute实现动态包含文件的方法

ASP
IIS访问ASP页面时报错The requested resource is in use.的解决办法
错误类型:Provider (0x80004005)未指定的错误 的一个处理方法
关于asp+access的安全问题分析
把RS.GetRows看得更清楚
asp下UTF-8页面乱码的解决方法
解决使用良精企业建站7.0未注册问题
在ASP中连接MySQL数据库的方法,最好的通过ODBC方法
flash与js通讯方法
ASP操作Excel相关技术总结
解决用Access数据库建站维护不便的问题的方法
ASP实现GB2312字符与区位码的相互转换的代码
对于ASP编码问题的深入研究与最终解决方案
ASP生成UTF-8编码的代码
删除A表中在B表中不存在的数据
动网防恶意广告比较有效的办法附asp代码
asp磁盘缓存技术使用的代码
网页语言编码及asp乱码问题解决方案
FSO遍历目录实现全站插马的代码
关于无限分级(ASP+数据库+JS)的实现代码
如何写ASP入库小偷程序

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 53 ::
收藏到网摘: n/a

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