第9章 Response,Request 对象的基础与应用 267
和窗体的Get方法都是使用QueryString数据集合,如果窗体采用Post方法就是使用Form数据集合。通常在地址栏直接传送数据都是以QueryString变量的方法传送变量名及数值。并且,变量的名称与变量的内容必须接在“?”符号之后。例如:
“http://localhost/EX09/EX09-10.asp?Strings=ASP & SQL网页数据库程序设计”
范例程序:EX09-10.asp
图9-13 执行前的 URL 输入方式
图9-14 使用 QueryString 读取传递的变量
程序内容
01: 02: 03:
04:
05:
268
06: 07:
08:ASP与SQL网站数据库程序设计
09: 用户发送的字符串变量的名称 Strings ,内容是: 10:
11: <% = Request.QueryString(\12: 13: 14:
程序说明
第11行:笔者直接用Request对象QueryString集合,将传递的参数直接读出并且显示在浏览器上。
可是在上图的执行结果中,明明输入的是“http://localhost /EX09/EX09-10.asp?Strings=ASP & SQL网页数据库程序设计”,在执行之后却变成了“http://localhost/EX09/EX09-10.asp?Strings =ASP & SQL网页数据库程序设计”。还有,“Strings”变量的输入内容与显示的不符,这是怎么回事呢?事实上,虽然用户输入的是空格,但是Web服务器在接收到空格时,将会自动解释成“ ”。另一个问题,输入与显示的结果不符,这又是怎么一回事呢?事实上,这是误打误撞的结果。在使用URL作为参数传递时,是可以允许同时传送多组变量的。而这些变量与变量之间使用的分隔符即为“&”。在上述范例中,“&”符号之后并未指定变量的名称;同时即使指定了变量名,但是在程序中并没有读出变量内容的程序代码,因此将无法正常显示。
范例程序:EX09-11.asp
图9-15 多组 QueryString 变量的输入方式
第9章 Response,Request 对象的基础与应用 269
图 9-16 多组 QueryString 变量的读取结果
程序内容
01: 02: 03:
04:
05:
08: 用户发送的字符串变量的名称 Strings1 ,内容是: 09:
10: <% = Request.QueryString(\11:
12: 用户发送的字符串变量的名称 Strings2 ,内容是: 13:
14: <% = Request.QueryString(\15: 16: 17:
程序说明
第8~15行:在使用多组变量传递时,只要使用多组读取、显示的程序代码,即可将变量的内容正确地显示出来。
这种读取方式,在以后的实务设计中,笔者使用得非常频繁。因此,请
270 ASP与SQL网站数据库程序设计
读者务必要了解这种参数传递的运行原理。
9-2-5 ServerVariables集合
ServerVariables是用来取得各项环境变量信息的(包含主机端及客户端)。由于ServerVariables内部有许多的变量名称,笔者利用下面的程序代码将这些变量全部列出来:
范例程序:EX09-12.asp
图9-17 ServerVariables 集合的内容
程序内容
01: 02: 03:
04:
05:
相关推荐: