快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

在ASP中使用“REQUEST”时应注重的问题

在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也不例外哦。

(以上程序均在WinNT4.0英文版(SP4),IIS4.0,IE4.x/IE5.x下测试通过)
返回类别: 教程
上一教程: 用排序串字段实现树状结构(例程??连接字串)
下一教程: 常用的VBSCRIPT 函数集

您可以阅读与"在ASP中使用“REQUEST”时应注重的问题"相关的教程:
· 求解在SQL中使用了WHERE列所碰到的问题
· 开发连接远程SQL Server 的ASP程序应注重的问题
· 关于在ASP中使用INCLUDE的一些问题
· 解决使用ASP无法连接ORACLE 9I数据库的问题
· 在ASP中使用SQL语句之5:开始执行
    微笑服务 优质保证 索取样品