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>
<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(),除非我们能够确认只有一个不会有重复。

浙公网安备 33010602011771号