精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>ASP教程>正文

在ASP中使用“Request”时应注意的问题


来源:我要学习网 时间:06-11-13 点击: 点击这里收藏本文
   在ASP中,一般人都喜爱直接使用Request(“参数”)来获得从上一个页面传来的参数,但是这样很容易产生混乱,导致数据不正确。 

  比如,如果上一个页面(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也不例外哦。 

 
 

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.