0

我最近在调试一个 ASP.NET MVC 应用程序(Firefox + Firebug),我遇到了一个有趣的(对我来说)场景,所有 GET 请求都按预期传递了查询字符串中的参数,大多数 POST 请求只是在表单中发布输入,但是那里是一些混合了查询字符串参数和表单输入的 POST 请求。

有趣的是,MVC 模型绑定器完全没有问题,可以从查询字符串和发布的参数混合构建模型。它是 ASP.NET MVC 和 HTTP 中有效且可接受的模式,还是更像是模型绑定器的容错实现?

4

1 回答 1

2

这是设计使然 - 默认 MVC 模型绑定器将尝试匹配来自 URI(查询字符串和/或路由数据)和正文的模型参数。

当然,您可以实现自己的行为不同的模型绑定器。

顺便说一句,在 ASP.NET Web API 中,这种行为不再是那样,并且 URI 和 body 参数也没有混合。

于 2013-01-13T19:40:33.757 回答