request会按顺序搜索全部的集合—QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一个匹配值的名称,这样做的集合效率低,并且是不安全的。
request包含各种方式的值,没有指名是什麽,Request.Form()、Request.QueryString()等都包含在裏面,但是它们之间有个优先级问题,一般应该是get比post优先级高些。
request.form是post传递方式
request.querystring是set传递方式
比如:
<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(),除非我们能够确认只有一个不会有重复。
|
|
来自: 悟静 > 《.net和asp.net》