Request.Params和Request.Form何时不同?

时间:2008-08-08 05:40:50

标签: c# asp.net request

我最近遇到一个问题,如果使用Request.Form访问,则值为null,但如果使用Request.Params检索则很好。这些方法之间可能有什么区别?

3 个答案:

答案 0 :(得分:28)

Request.Form仅包含通过表单发布的变量,而Request.Params包括已发布的表单变量和指定为URL参数的get变量。

答案 1 :(得分:21)

Request.Params包含QueryString,Form,Cookies和ServerVariables的组合(按此顺序添加)。

不同之处在于,如果在QueryString和Form中都有一个名为“key1”的表单变量,那么Request.Params [“key1”]将返回QueryString值和Request.Params.GetValues(“key1”)将返回[querystring-value,form-value]的数组。

如果有多个表单值或具有相同键的cookie,那么这些值将被添加到GetValues返回的数组中(即GetValues不会返回锯齿状数组)

答案 2 :(得分:1)

原因是我检索的值来自表单元素,但提交是通过链接+ JQuery完成的,而不是通过表单按钮提交。