2013-02-27 67 views
1

我有我认为是一个很奇怪的问题,我希望它只是被忽视的东西。我想通过一些数组传递给我的mvc控制器使用ajax,从我的控制台输出我可以看到正确的值正在张贴,但似乎只有其中一个不是正确绑定,我只是得到空只有如果其他2个数组有值。如果其他2为空,那么KnownTo将正确使用。Ajax发布多个阵列到MVC 4控制器

这里是一个点击事件中,我通过检查一些数据添加到这些阵列我的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调用后,我看到正确的值张贴在萤火虫。

然后我得到的控制器......

[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个是空然后KnownTo被绑定正确,但如果有值那么无论如何KnownTo将会是null。我希望这是有道理的。

回答

0

我通过将KnownTo数组重命名为其他内容来解决此问题。我猜测KnownTo是某种保留字。