5

With a POST request in case it has the same parameter in the query string and in the body of the request which one takes priority with model binding?

4

1 回答 1

7

这篇文章,在“价值提供者”部分。

  1. 之前绑定的动作参数,当动作是子动作时
  2. 表单域 (Request.Form)
  3. JSON 请求正文 (Request.InputStream) 中的属性值,但仅当请求是 AJAX 请求时
  4. 路线数据 (RouteData.Values)
  5. 查询字符串参数 (Request.QueryString)
  6. 发布的文件 (Request.Files)

因此,如果相同的名称出现在多个位置,则模型绑定器的最后一个位置将优先(我认为),在您的情况下,查询字符串。

最简单的方法就是尝试一下。输入一个带有 &id=23" 的 url 并确保你有一个名为 "id" 的 HTML 输入字段并将其 POST 回控制器并查看传递了哪个。

于 2013-07-18T12:56:26.830 回答