javascript - 发布JSON数据时MVC Controller 的string[]参数为null

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

我使用 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/

相关文章:

javascript - 格式化 JavaScript 函数以将匹配项映射到时间组

c# - 登录后直接从 Websecurity 获取 CurrentUserID (C#/ASP.NET)

c# - 使用 C# winform 的 zeromq pub/sub 示例

javascript - 在另一个函数中使用一个函数的变量——我想我遗漏了什么

javascript - 如何从 javascript 中的字符串中去除(或正则表达式匹配)一个 unicode 字符?

javascript - Firebase JS 身份验证 cookie

javascript - 从 sdcard 加载 html 到 android 中的 webview 时出现 HTML、css、js 问题?

c# - 确定 (x,y,z) 点是否在由点数组定义的形状内

jquery - select2和远程数据: pre-set value and text avoiding server round-trip

javascript - Bootstrap 多选在 POST 下拉列表中不起作用?