我使用 jQuery 发布数据,但数组数据有问题。提供给 MVC Controller 的值始终为空。
这是我的 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 为 null。
我需要做什么才能向 CatFilter 提供正确的值?
最佳答案
这里的代码:
var posting = $.post(url, { cursorid: lastid, CatFilter: FilterCategory });
从 MVC 的 Angular 来看,它正在发送一个类,因此您需要一个对应的 C# 类来打包数据。 创建一个类来处理该数据,例如:
我假设您的 CatFilter 数组是一个字符串数组:
public class Data{
public string cursorid { get; set;}
public string[] CatFilter {get; set;}
}
然后更改您的 Controller :
public ActionResult GetDataTweets(Data data)
{
var s1 = data.cursorid;
var s2 = data.CatFilter[0];
}
如果 CatFilter 是一个类,那么您需要创建一个 CatFilter 类来映射到 javascript 版本。
关于javascript - 发布JSON数据时MVC Controller 的string[]参数为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26268762/