欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

request.querystring("id")与request("id")区别

shiping1 的头像

request.querystring("id")与request("id")区别

一下问题一天遇到2次,复制过来以供下次参考,一般来说还使用万能的request("id")比较好

Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。

现在我们来分析下你得问题. 
假设有个页面 test.asp?id=111 
这里我们的页面是用GET的方法.这时用request.querystring("id")与request("id")是一样得,应该如果不指定REQUEST得集合,首先就会从Querystring搜索.

而如果我们的页面是用的是POST的方法发送数据给test.asp,那么用request.querystring("id")是不行的了(他只能取GET),而要用request.from("id"),而如果还用request("id")他也能取到数据,但先检测QUERYSTRING的值,显然速度就慢了.

下面是个检测的例子你可以看看: 
<% 
If Request("submit")<>"" then 
Response.Write "直接取:"& Request("username") & "<br>" 
Response.Write "取Get:" & Request.QueryString("username") & "<br>" 
Response.Write "取Post:" & Request.Form("username") & "<br>" 
End if 
%> 
<form name=form1 action="" method=post> 
<input type=test name="username" value="postuser"> 
<input type=submit name="submit" value="test"> 
</form>

来自 http://www.cnblogs.com/qyz123/archive/2006/12/11/589221.html

普通分类: