我有一个我认为很奇怪的问题,我希望它只是被忽略的东西。我试图使用 ajax 将一些数组传递给我的 mvc 控制器,从我的控制台输出中我可以看到正确的值被发布但似乎只有其中一个不会正确绑定,我只是得到 null但只有在其他 2 个数组有价值观。如果其他 2 个为 null,则 KnownTo 将正确 bing。
这是我的javascript代码
var sectors = new Array();
var offices = new Array();
var KnownTo = new Array();
在单击事件中,我通过检查页面上某些元素的某些数据属性来添加到这些数组中。然后我做请求。
postData = {
'Sector': sectors,
'Offices': offices,
'KnownTo': KnownTo
};
$.ajax({
type: 'POST',
contentType: "application/json;charset=utf-8",
url: 'Controller/SearchActivities',
dataType: 'json',
data: JSON.stringify(postData),
success: function (result) {
console.log(result)
},
failure: function (result) {
console.log(result)
}
});
在 ajax 调用之后,我看到了在 firebug 中发布的正确值。
然后我到控制器...
[HttpPost]
public JsonResult SearchActivities(FilterPageViewModel model)
{
//something
}
部门和办事处已正确填写,但我的 KnownTo 未填写。这是 FilterPageViewModel
public class FilterPageViewModel
{
public int[] Sector{ get; set; }
public int[] Offices{ get; set; }
public int[] KnownTo{ get; set; }
}
现在奇怪的是,如果只有 KnownTo 有值发布到它并且其他 2 为 null 那么 KnownTo 会正确绑定,但如果其他数组中的任何一个上有值,那么 KnownTo 无论如何都将为null。我希望这是有道理的。