【发布时间】:2011-08-24 23:32:21
【问题描述】:
我已经研究过如何将数据发布到 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);
key/value 对 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 不支持绑定简单的字符串数组吗?
【问题讨论】:
-
如果你在 MVC 3 上,你应该尝试从 JS 发布为 JSON(包括刺痛它)
-
lol 试过没有用,除非我做错了......但是谢谢
-
没有问题,也许用你用来发布动作的 JS 更新你的帖子?所以我们可以看到流程的所有部分。
-
我从未使用过@spencerooni 的解决方案。我用过
$.postifyhere。不过,您必须使用 cmets 中的调整来避免在 null 元素上引发错误。
标签: asp.net asp.net-mvc