Request[]、Request.Form[]、Request.QueryString[]的区别

request会按顺序搜索全部的集合—QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一个匹配值的名称,这样做的集合效率低,并且是不安全的。
 
request包含各种方式的值,没有指名是什麽,Request.Form[]、Request.QueryString[]等都包含在裏面,但是它们之间有个优先级问题,一般应该是get比post优先级高些。
 
request.form是post传递方式  
 
request.querystring是get传递方式
 
比如:
<form method="post" action="xxx.aspx?id=2">
<input id="id" type="text" name="id">
</form>
 
当我们提交这个表单时同时传递了两个id值,一个是form裏input 的id它以post方式提交,而另一个是action裏的url传递了一个以get方式提交的id。
 
那麽我们如果用Request["id"]得到的是哪一个值?就得据其优先级才知道,一般应该是get比post优先级高些,但是,如果我用Request.Form["id"]一定得到的是以post提交的input裏输入的值,而用Request.QueryString["id"]得到的一定是以get方式提交的值,所以要养成好习惯都写全,不要都用Request(),除非我们能够确认只有一个不会有重复。
posted @ 2015-02-07 15:23  tigermonkey  阅读(114)  评论(0)    收藏  举报