2013-03-18 93 views
0

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

一个例子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."

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

回答

0

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