我已经研究过如何将数据发布到MVC控制器/操作,我遇到了一些麻烦。我希望以这种格式将数据(通过javascript)发布到我的MVC控制器:
{
someString: "thisString",
myArray: ["string1", "string2"]
}
我的MVC Action有以下签名:
[HttpPost]
public ActionResult someAction(FormCollection formValues);
如果我检查formValues的值,我会看到键/值对:
key: "someString"
value: "thisString"
key: "myArray[]"
value: [0]: "string1", [1]: "string2"
这一切看起来都不错,直到我尝试:
TryUpdateModel(MyCustomModel);
键/值对someString /“thisString”绑定完美但数组(myArray)解析为null。
我的模型看起来像这样:
public MyCustomModel
{
public string someString {get; set;}
public string [] myArray {get; set;}
}
以下是我的帖子的样子(jQuery):
$.post
(
"Controller/someAction",
{
someString: "thisString",
myArray: ["string1", "string2"],
},
function(data) { ...do something }
);
我到底在做什么?默认的MVC ModelBinder不支持绑定一个简单的字符串数组吗?
答案 0 :(得分:2)
发布到控制器操作时必须添加以下内容
traditional: true
我刚刚在我的机器上复制了这个问题并解决了它。我还发现this帖子似乎包含了相同的解决方案
修改强>
这是another similar question ...