MVC POST默认绑定

时间:2013-03-18 22:04:34

标签: asp.net-mvc http-post

我有一个MVC WebApi应用程序。我正在尝试做一些基本的事情 - 通过身体中的JSON传递一个字符串。我的客户端提交了少量的键/值参数,当MVC路由器获取它们时,它开始解释字符串的内容。

示例JSON正文是

{ "myKey":"red,yellow,brown,orange","foo":"bar" }

我的MVC控制器方法是

public Dictionary<string, string> PostMyAction([FromBody] str1, [FromBody] str2) { }

我希望str1 == "red,yellow,brown,orange",但我得到"Can't bind multiple parameters ('str1') to the request's content."

为什么将第一个字符串解析为参数列表?

1 个答案:

答案 0 :(得分:0)

你的Controller方法不应该是ActionResult吗? 您可以在操作中接收多个参数,但是对于清晰的代码,我建议使用一个ViewModel,其中包含代表您的View的属性,以及提交时的Binded。