您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > ASP >

使用EXECUTE简化ASP处理FORM表单的提交。

来源:网络收集 责任编辑:栏目编辑 发表时间:2013-07-01 14:28 点击:
EXECUTE是IIS5.0中VBscript5.0的新增功能,其作用是执行一个或多个指定的语句。
语法:Execute statements
statements 参数是一个字符串表达式,其中包含一个或多个要执行的语句。

调用 Execute 语句的上下文确定了要运行的代码可以使用的对象和变量。作用域内的对象和变量是 Execute 语句中运行的代码可以使用的。不过,必须明白的一点是,如果被执行的代码创建了过程,那么该过程将不会继承它所在的过程的作用域。
与其他过程类似,新的过程的作用域是全局的,它继承了全局作用域的全部东西。与其他过程不同的是,它的上下文不是全局作用域,因此它只能在发生 Execute 语句的过程内的上下文中执行。不过,如果相同的 Execute 语句是在过程之外(例如在全局作用域)的作用域中被调用,那么它将不仅继承全局作用域中的所有东西,而且它还可以在任何地方被调用,因为它的上下文是全局的。下面的例子说明了这种特点:

Dim X 在全局作用域中声明 X。
X = "Global" 将全局的 X 赋值。
Sub Proc1 声明过程。
Dim X 在局部作用域中声明 X。
X = "Local" 对局部的 X 赋值。
此处的 Execute 语句建立了一个过程,
在调用该过程时它将打印 X。
它打印的将是全局 X,因为 Proc2
继承了全局作用域中的一切。
Execute "Sub Proc2: Print X: End Sub"
Print Eval("X") 打印本地 X。
Proc2 在 Proc1 的作用域中调用 Proc2。
End Sub
Proc2 本行将导致一个错误,因为
Proc2 在 Proc1 之外是不可使用的。
Proc1 调用 Proc1。
Execute "Sub Proc2: Print X: End Sub"
Proc2 这句话可以成功,因为 Proc2
现在是全局可用的。

下面的例子显示了如何将 Execute 语句改写,免于将整个过程包含在引号内:

S = "Sub Proc2" & vbCrLf
S = S & " Print X" & vbCrLf
S = S & "End Sub"
Execute S

下面介绍EXECUTE在ASP处理FORM提交的表单时的应用

通常我们在ASP处理表单提交时,都是使用下面的方法:

dim company,name,email,tel,fax,web

company=Request.Form("company")
name=Request.Form("name")
email=Request.Form("email")
tel=Request.Form("tel")
fax=Request.Form("fax")
web=Request.Form("web")

作用就是把FORM提交的表单数据分别存贮在其相应的变量中,供其他处理。
如果每个表单变量都要使用表单声明并取值,是件十分麻烦的事。可以利用EXECUTE使这个过程简化:

FOR each item in Request.form
Execute item & "=Request.Form(item)"
Next

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • WAP常见问题问答大全(四)
    • ASP开发必备:WEB打印代码大全
    • ASP调用系统ping命令
    • asp缓存技术
    • ASP教程:第三篇 ASP基础
    • 用ASP+XML打造留言本(4)
    • 关于ASP Recordset 分页出现负数解决方法及建议
    • 用asp怎样编写文档搜索页面(5)
    • ASP处理多关键词查询实例代码
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1