我正在尝试在JavaScript中建立字符串数组,并在action方法的字符串列表中获取结果。以下是我的JavaScript的外观。我正在使用jQuery 1.4.2。问题是我在动作方法中的列表始终显示为NULL。JavaScript字符串数组会不会正确映射到C#中的字符串列表?
var test = ['test1', 'test2']; var parms = { var1: 'some string', var2: test }; $.ajax({ type: "POST", url: "/Test/JSONTestAction", async: false, data: parms, dataType: "json", success: function(data) { // success } });
然后我的JsonResult如下所示:
public JsonResult JSONTestAction(string var1, List <string> var2) { // var2 is always NULL -- not good return Json(new { test = "test" }); }
更新到jQuery 1.4.2后,我遇到了同样的问题。您可以在这里找到解决方案(在Ajax部分中)。
在ajax选项中添加繁体中文:true应该可以。
$.ajax({ type: "POST", traditional: true, url: "/Test/JSONTestAction", async: false, data: parms, dataType: "json", success: function(data) { // success } });