当用户填写页面<form>内容时所提供的全部值,或在浏览器地址栏输入在url后的值,通过form和querystring集合为asp脚本所用。这是在asp代码中访问值的一种简单方法。
1、 访问asp集合的一般技术
大多数asp集合与在vb中见到的普通集合相差不多。实际上,它们是值的数组,但能通过使用一个文本字符串键(对大小不敏感)以及一个整型索引进行访问。因此,假如客户端web页面包含的<form>如下:
<form action=”show_request.asp” method=”post”>
firstname:<input type=”text” name=”firstname”>
lastname:<input type=”text” name=”lastname”>
<input type=”submit” value=”send”>
</form>
可通过访问asp的form集合来访问其控件内的值:
strfirstname = request.form(“firstname”)
strlastname = request.form(“lastname”)
也可使用窗体中控件的整型索引,索引的范围从在html中第一个定义的控件开始,然后根据定义的顺序排序:
strfirstname = request.form(1)
strlastname = request.form(2)
然而,后面的这种以整型为索引的技术不推荐使用,因为一旦有html中的控件发生了变化,或者插入一个新的控件,则asp代码将得到错误的值。进一步而言,对于阅读代码的人来讲,极容易混淆。
1) 访问集合的全部值
可以通过引用集合把整个form上的一系列值变成单个的字符变量,且不用提供键或索引。
strallformcontent = request.form
假如文本框包含值priscilla和descartes,则request.form语句将返回下列字符:
firstname=priscilla&lastname=descartes
注意,提供的值是以名称/值对的形式出现的(即控件名称=控件值),并且每一对名称/值相互之间是用符号“&”相分隔的。假如打算把窗体中的内容传递单独的,希望得到值的标准格式的可执行应用程序或dll,这个技术是很有用的。然而,一般说来,都是通过以窗体中控件的名称为文本键来访问集合中的内容。
2) 遍历一个asp集合
有两种方式遍历一个asp集合中的所有成员,方式与普通vb集合的基本相同。每个集合提供一个count属性,返回的是集合中条目数量。可通过使用一个整型索引使用count属性来遍历。
for intloop=1 to request.form.count
response.write request.form(intloop) & “<br>”
next
假如先前的窗体包含priscilla和descartes值的两个文本框,将得到如下结果:
priscilla
descartes
然而,更好的方法是使用for each...next结构。
for each objitem in request.form
response.write objitem & “=” & request.form(objitem) & “<br>”
next
这带来的好处是既可以访问控件的名称又可访问其值。上述代码将得到如下结果:
firstname = priscilla
lastname = descartes
注意,一些浏览器返回到asp的<form>值可能与页面上显示的顺序不尽相同。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器