在A.asp中有一个文本框<Input type=text name="year">,是用来让用户输入查询条件的,B.asp要按照传递来的参数year来显示属于那一年的所有记录。按照我们刚才讲到的那种方法,代码分别如下:
A.asp:
<html>
<body>
<form name="search" method="post" action="B.asp">
<Input type=text name="year">
<Input type=submit name="ok" value="查询">
</form>
</body>
</html>
B.asp :
<%
year=Request.Form("year")
%>
<html>
<body>
。。。。。。
<A href="B.asp?page=<%=page%>&year=<% year%>">下页</A>
。。。。。。
</body>
</html>
自然,第一次提交到B.asp的时候,可以使用Request.Form("year")得到那个条件year,但是B.asp要分页,也就是说他要刷新自己,以便显示全部的记录,但是因为B.asp中并没有这个文本框year,所以使用Request.Form("year")得到的将会是一个空值,这时候就是Request("year")显示威力的时候了,可以这样修改B.asp :
<html>
<body>
。。。。。。
<A href="B.asp?page=<%=page%>&year=<%request("year")%>">下页</A>
。。。。。。
</body>
</html>
这样,当第一次调用B.asp的时候,获得的是A.asp中那个文本框中的值(用户输入的);翻页的时候调用B.asp获得的是“B.asp?...&year=???”里面的值,也就是URL中的值。
所以说凡事都有它的两面性,Request也不例外哦。
(以上程序均在WinNT4.0英文版(SP4),IIS4.0,IE4.x/IE5.x下测试通过)
关键词:在ASP中运用“Request”时应注意的问题