【问题标题】:When do Request.Params and Request.Form differ?Request.Params 和 Request.Form 什么时候不同?
【发布时间】:2010-09-05 13:31:48
【问题描述】:

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

【问题讨论】:

    标签: c# asp.net request


    【解决方案1】:

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

    【讨论】:

    • Request.Params.Keys 中默认的 key 数量为 54 或更多。仅供参考。
    【解决方案2】:

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

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

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

    【讨论】:

    • 我遇到了同样的问题,但您的回答对我帮助很大。我还有一个问题,我们是否可以在单个请求中传递查询字符串值和表单值。实际可行吗?
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 2020-01-09
      相关资源
      最近更新 更多