LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

ASP中Server.Execute、Execute、Include的用法

admin
2010年4月29日 8:49 本文热度 7588
[p]1.在网上看了include和server.execute的介绍,说server.execute是为了弥补include使用不灵活,占用系统资源多等问题而出现的.但是为什么还是这多人用include而不是用server.execute替代include来用呢?[br][br]2.server.execute替代所有的include可以嘛?有什么好处和坏处? [/p]
[p] [/p]
首先说明一下,server.execute()和execute是不同的,前者是asp内置对象,后者是vb语句。
[p]1.执行过程[br]dim strsubname[br]strsubname="print"[br]execute strsubname[br]sub print()[br] response.write now[br]end sub[/p]
[p]2.执行带参数的过程[br]dim strsubname[br]strsubname="print("""&now&""")"[br]execute strsubname[br]sub print(str)[br] response.write str[br]end sub[/p]
[p]3.动态包含文件[br]server.execute("xxx.asp")[/p]
[p][br]server.execute和include相异之处:[/p]
[p]execute method 是个呼叫一个.asp 程序并执行它,比较类似一般程式语言的 procedure call;而 #include 则仅將所包含的程序插入原程序当中。 [/p]
[p] [/p]
[p]server.execute表示将页面运行过后的html代码插入当前位置:[/p]
[p]include表示将页面的源代码加入当前位置再做为一个整体运行 [/p]
[p]比方说你定义一个变量dim a [br]用server.execute后这个定义是无效的 [br]include的话,这个定义有效[/p]
[p] [/p]
[p]server对象的execute方法是asp3.0新增的方法,只有web服务器采用iis5.0或更高版本时才有效。[br]其用法为:[/p]
[p]server.execute("url")[/p]
[p]功能:停止执行当前页面,将执行控制权转到url所指定的新页面中,用户的当前环境(会话状态和任何当前事务状态)将传递 到新页面,待新页面执行完后,控制权将返回到原始页面,并继续执行原始页面中execute方法之后的语句。[/p]
[p]  该方法的功能有点类似于过程调用,只不过此处调用的不是过程,而是一个完整的asp页面。[/p]
[p]例如:若要根据客户端语系的不同,访问不同的页面,则实现代码为:[/p]
[p]<%[br]language=request.servervariables("http_accept_language")[br]if language="zh-cn" then[br] server.execute("chinese/index.asp")[br]else[br] server.execute("english/index.asp")[br]end if[br]%>[/p]
[p]另外,在asp中,还可以通过#include指令,将一个asp文件包含到网页中。[/p]
[p]区别:[br]execute的话全局变量不共享,各自独立。[/p]
[p]include应该是快一些的。 [br]execute method 是个呼叫一个.asp 程序并执行它; [br]#include 则仅將所包含的程序插入原程序当中,开始并不执行的,执行的时候也不一定是全部。[/p]
[p][br]server.execute 的一个很好的特点是运行条件包含的能力。通常情况下包含不能是有条件的,因为#include 指示是在脚本代码执行处理条件之前预先处理的。但是用server.execute 可以写出这样的代码,查看一个session变量,决定调用哪一部分代码,而不是总是装载着两部分代码。 [br]if session("dothisorthat") = "this" then [br]server.execute("this.asp") [br]else [br]server.execute("that.asp") [br]end if [/p]
[p][br]调用 execute 语句的上下文确定了要运行的代码可以使用的对象和变量。作用域内的对象和变量是 execute 语句中运行的代码可以使用的。 [/p]
[p]与其他过程类似,新的过程的作用域是全局的,它继承了全局作用域的全部东西。与其他过程不同的是,它的上下文不是全局作用域,因此它只能在发生 execute 语句的过程内的上下文中执行。不过,如果相同的 execute 语句是在过程之外(例如在全局作用域)的作用域中被调用,那么它将不仅继承全局作用域中的所有东西,而且它还可以在任何地方被调用,因为它的上下文是全局的。[/p]

该文章在 2010/4/29 8:49:44 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved