2014-10-09 36 views
0

我用jQuery发布数据,但是我对数组数据有问题。提供给MVC控制器的值始终为空。发布JSON数据时MVC控制器的字符串[]参数为空

这是我的JavaScript代码:

cursorid:5434cdc84ba4dd0c40396851 
Filter[]:1 
Filter[]:3 
Filter[]:4 

这里的C#方:

var FilterCategory = $('input:checkbox:checked').map(function() { 
       return this.value; 
      }).get(); 
var posting = $.post(url, { cursorid: lastid, CatFilter: FilterCategory }); 

来自网络的表单数据

public ActionResult GetDataTweets(string cursorid,string[] CatFilter) 
    { 
     bla bla 
    } 

cursorid具有价值,但CatFilter一片空白。

我需要做什么才能为CatFilter提供正确的值?

回答

1

这这里代码:

var posting = $.post(url, { cursorid: lastid, CatFilter: FilterCategory }); 

从MVC的角度来看,它发送一个类,所以你需要一个倒数C#类来封装数据。 创建一个类来处理这些数据,例如:

我假设你CatFilter阵列是一个字符串数组:

public class Data{ 
    public string cursorid { get; set;} 
    public string[] CatFilter {get; set;} 
} 

然后改变你的控制器:

public ActionResult GetDataTweets(Data data) 
{ 
    var s1 = data.cursorid; 
    var s2 = data.CatFilter[0]; 
} 

如果CatFilter是类,那么你需要创建一个CatFilter类来映射到JavaScript版本。

+0

对不起,它没有工作。他们都破了。 – user2372850 2014-10-09 15:43:41

相关问题