发布JSON数据时,MVC控制器的string []参数为null

时间:2014-10-09 01:01:29

标签: javascript c# jquery html asp.net-mvc

我使用jQuery发布数据但是我对数组数据有问题。提供给MVC控制器的值始终为null。

这是我的JavaScript代码:

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

来自网络的表单数据:

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

这是C#方:

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

cursorid有一个值,但CatFilter为空。

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

1 个答案:

答案 0 :(得分: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版本。