处理表单变量最容易的方式

ASP新手入门
我钻研ASP已经很多年了,每天都跟那些代码打交道!当我工作的时候,只要遇到ASP变量,它就像是我的一个眼中钉一样,让我头痛!下面我来解释一下处理表单变量的问题。

 

<% FirstName = Request.Form("FirstName") Surname = Request.Form("Surname") Address1 = Request.Form("Address1") Address2 = Request.Fomr(Address2") ... ... %>
我认为我们应该把更多的时间花在和上面的例子一样的地方,听我的,肯定没错!为什么表单变量处理起来这么麻烦呢?我想找到了一种只用一种函数调用就能读取所有变量的方法………可是这好像不太可能!但是我还是下定决心要钻研出一种解决方法!我借助Microsoft VBScript 和Execute命令符来研究。Execute 命令基本上就是执行ASP的字符串。Execute(“Response.write “”Hello””)和response.write “hello” 效果是一样的。然后当我看到了这个新的功能,我就明白了我应该做什么了。

 

<% For Each Field in Request.Form TheString = Field & "= Request.Form(""" & Field & """)" Execute(TheString) Next %>

我们会自动设置变量。你可能不相信,只是其中的一小部分代码,就省下了我去年的很多时间。不过,它还是有缺点的,图像提交按钮传递表单变量的名称,比如“submit.X”和“submit.Y”(你点击提交图像的坐标)显然是ASP变量名称,会导致出现白色的错误页面……
不过我们还是可以避免这样的问题出现的:

<% For Each Field in Request.Form tmpField = Replace(Field,".","") '清除句号 TheString = tmpField & "= Request.Form(""" & Field & """)" Execute(TheString) Next %>

为什么在这里就要停住了?在HTML控件中有很多字符,但是在VBScript中,当自动
设置变量名称时,这些字符不能起作用。你能很容易地添加额外的行来避免其他字符的空格,连字符和其他的所有方式出现。你已经获取了多种的表单控件……你要怎么分配变量给多个选择框呢?作为一个开发者,我发现它很方便的读取了“multiple”部分表单变量到一个数组……我把上面的代码建立multiple items,并创建它们的数组:

<% For Each Field in Request.Form tmpField = Replace(Field,".","") '清除句号 ItemCount=Request.Form(Field).count IF ItemCount > 1 then execute “redim ” & field & “(” & itemcount -1 & “)” ‘动态数组 For Item = 0 To ItemCount – 1 TheString = tmpField & “(“&Item&”)= request.form(“”” & field & “””).item(” & Item + 1& “)” Next Else TheString = tmpField & “= Request.Form(“”” & Field & “””)” End If Execute(TheString) Next %>
  
我想现在你应该能感受到作为程序员的潜力了吧......大家写函数的时候要懂得怎么处理变量,请记住...表单仅仅只是一个例子,不要就只局限于此,毕竟还有像Querystrings, Cookies, Session variables, Application Variables, ServerVariables。再就是recordsets (why not?) 和 dictionary objects,等等,等等。只要记住,你现在掌握的知识,将节省你大量的时间,为什么不试着写一些自己的函数呢?如果你想让函数能有选择性地处理Form, Querystring, Cookies, Session, Application and Server ,你可以联系我。在调试模式下,它也有一个参数,它会显示你的变量中的所有对象,它们的值和在转换过程中他们的名称是否会出现问题。它还能把这些控件设置为列等形式。不管怎么说,如果你写出了你完成的函数,也发我一份儿,我也将会很开心的。


相关内容推荐

ASP-条件语句

有时,当我们写代码时,我们要为作出不同的决定而执行不同的操作。我们可以使用条件语句中的代码来做到这一点。条件语句是一套用于执行基于不同条件的不同动作的命令。 为了支

编写第一个ASP程序

现在有很多关于ASP编程的教程。其中有些是对于你有帮助,有些完全没有用。甚至有些写得是误人子弟。无论如何,你读过一些关于ASP的内容,现在你已经准备好构建第一个应用程序。

ASP表单输入到HTML

ASP能写.html或者任何其他的直接到web服务器的文档文本(你需要写文本输出到写权限的目录)。这是能够不需要上传PC的文件用户输入即时的发布信息。 下面的例子有四个输入区域(标

周的天数

想在asp显示当前一周有多少天吗?这个代码会把握住今天的值和利用到案例选择显示一周的天数。 % date_value = date() %%= date_value %br% dayofweek=weekday(date_value) %day number in week %= dayofweek %br%

asp获取IP地址的函数

FunctionGetIp() DimDulIp,ProIP DulIp=Request.ServerVariables("HTTP_X_FORWARDED_FOR") ProIP=Request.ServerVariables("REMOTE_ADDR") IfDulIp=""Then GetIp=ProIP Else GetIp=DulIp EndIf EndFunction

返回
顶部