MVC控制器'发布JSON数据时,s字符串[]参数为null

MVC controller's string[] parameter is null when posting JSON data

本文关键字:字符串 参数 null 控制器 发布 数据 JSON MVC      更新时间:2023-09-26

我用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为null。

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

此处的代码:

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版本。