我最近遇到一个问题,如果使用Request.Form访问,则值为null,但如果使用Request.Params检索则很好。这些方法之间可能有什么区别?
答案 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完成的,而不是通过表单按钮提交。