接受一个Query字段
在URL地址后面用问好带着Query字段来传递参数也是很常用的,如果你曾经使用过诸如Alta Vista这样的网络搜索引擎,你就会对这种方式十分熟悉。
你可以在指定联接中利用?带Query字段来传递参数信息,例如下例:
<HTML>
<HEAD><TITLE>Query字段示例</TITLE></HEAD>
<BODY>
<A HREF=“http://www.aspsite.com/newpage.asp?Click=YES”>点击这里!</A>
</BODY>
</HTML>
在这个例子中,联接地址是newpage.asp。不过,这个连接包括一个Query字段,
“Click=Yes”传递到了newpage.asp中去。
你也可以在浏览器的地址拦中直接敲入主页后面带上Query字段的方法来进行信息传递,对于服务端来说,二者是没有区别的。例如下面:
http://www.aspsite.com/newpage.asp?Click=Yes
进行菜单类选择时Query字段是非常有用的。如果你在一个主页中指向不同内容而又希望在一个主页中处理,那么你就可以利用它。例如下面这个例子:
<HTML>
<HEAD><TITLE>产品列表</TITLE></HEAD>
<BODY>
<H3>欢迎进入迈至科网上商店</H3>
请选择你要订购的名录:
<p><a href=“purchase.asp?ITEM=1”>用户手册</a>
<p><a href=“purchase.asp?ITEM=2”>打字机</a>
<p><a href=“purchase.asp?ITEM=3”>马蹄铁</a>
</body>
</html>
虽然用户可以进行多种选择,而且每种选择都连接不同内容,但是实际上指向一个Active Server Page,只是Query字段不同。
图15.3 订购列表页
用户可以自由选择点击连接,那么根据Query字段来判断显示不同内容。
你可以用Active Server Pages的Request对象的QueryString集合来接受这些信息,和Form集合的调用方法一样。要想接受一个特定的Query字段内容,你只需要写出Query字段的名称就行了。这有一个例子(对应于上面的产品列表主页):
<HTML>
<HEAD><TITLE>订购</TITLE></HEAD>
<BODY>
<%
SELECT CASE Request.QueryString(“item”)
CASE “1”
Response.Write(“谢谢您订购了用户手册。”)
CASE “2”
Response.Write(“谢谢您订购了打字机。”)
CASE “3”
Response.Write(“谢谢您订购了马蹄铁。”)
END SELECT
%>
</BODY>
</HTML>
在这里QueryString集合被用来检查是哪一个连接被点击。利用SELECT CASE语句来根据Query字段作出合适的响应,例如,用户选择了“用户手册”,那么用户收到的显示信息是“谢谢您订购了用户手册”。