request.form 和 Request.QueryString 区别

ASP.NET 2009-09-02 17:28:20 阅读243 评论0 字号:
Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables。    
Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。
request.querystring 是用来接收地址里面?后面的xx=xx的内容 
而request.form 是用来接收表单递交来的数据 
不过我可以告诉你个两全其美的方法 
例如 request("offline") 
就无论采用的是以上哪种方法的字段值都可以读取了
B:
request.form是指用form递交过来的数据。
而request.querystring则是指用URL递交过来的。你用的是login.asp?offline=true,这个当然是URL递交的啦。
C:
Request.Form和Request.QueryString两个接收参数来源不同,
前者是接收从表单Form来的参数,后者是从URL来的参数。 
你这有这一句logon.asp?offline=true这是URL的传递参数。 
如果要用Request.Form()的话,那页面至少得有个表单,比如: 
<form name=form1 method=post action=logon.asp> 
<input type=text name=user value=""> 
</form> 
这样在提交过表单后,就可以用Request.Form("user")得到这个文本框传递过来得数值。 
D:
request.querystring和request.form的区别 
request.querystring是用post方法读取的 不安全 
request.form是用get方法读取的 
form表单中的method中看你是get还是post 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>无标题文档</title> 
</head> 
<body> 
<p> 
<% 
if request.querystring("offline")="true" then 
session.Abandon() 
response.Redirect("login1.htm") 
end if 
%> 
欢迎进入:<%=request.Form("user")%></p> 
<p>当前联机人数为:</p><%=application("onlinenum")%> 
<p><a href=login.asp?offline=true>离开</a></p> 
</body> 
</html>  
Request.Form很明确,就是接收Form提交来的数据。
而Request则会在QueryString、Form、ServerVariable中都搜寻一遍。