我使用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提供正确的值?
答案 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版本。