在ASP中使用“Request”时应注意的问题
2008-02-23 05:31:34来源:互联网 阅读 ()
比如,假如上一个页面(A.ASP)中有一个文本框<Input name="xxx" value="1900">,并且您使用"B.ASP?xxx=1999"来调用第二个页面(B.ASP)的话,那么您在B.ASP中使用Request("xxx")得到的参数xxx的值将是"1999",而不会是您想要得到"1900";若想要得到URL后面的那个xxx的值,应当使用Request.QueryString("xxx");若想要得到A.ASP中的那个xxx的值,应当使用
Request.Form("xxx"),并且那个文本框要在一个Form里面才能够。
但是,有的时候,使用Request("参数")反而会有很好的效果,不相信?那就一同来看看下面这个例子吧。
比如,我们要做一个关于查找记录的搜索引擎,那就至少要有两个页面:
接受查询条件的页面(A.ASP)和显示查询结果的页面(B.ASP),并且由于查询到的数据会有很多,我们需要在B.ASP对查找到的记录进行分页显示,即:
查询参数------->分页显示(刷新自己)<--|
|___________________|
在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下测试通过)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 用纯ASP代码实现图片上传并存入数据库中
下一篇: ASP的含义、功能和选择
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash