如何将一个包含字符串列表的对象从AngularJS POST到ASP.NET MVC控制器?

问题描述 投票:0回答:1

我有以下javascript对象。

var param = {
  FilePaths: ['String1', 'String2', 'String3'],
  Share: false
}

我的AngularJS POST如下:

$http({
  method: 'POST',
  url: config.apiUrl + '/ImportSubset/Import',
  data: param,
  headers: {
    'Content-Type': 'application/json'
  }
}).then(function (response) {
  console.log(response);
}, function (error) {
  console.log(error);
});

我的ASP.NET控制器。

public class ImportSubsetController : Controller
{
  public class ImportParam
  {
    public List<string> FilePaths;
    public bool Share;
  }

  public JsonResult Import(ImportParam param)
  {
    (...)
  }

当我调用我的导入API时 Share 属性通过就好,但 FilePathsNull. 我到底做错了什么?我试着用 data: JSON.stringify(param) 却也算是 Null.

asp.net angularjs asp.net-mvc asp.net-core asp.net-mvc-5
1个回答
0
投票

1.添加下面的FilePaths-类。

public class FilePaths
  {
    public List<string> Path { get; set; }

  }

2.在ImportParam类中提到FilePaths ,作为一个属性--。

public class ImportParam
  {
    public FilePaths filePaths { get; set; }
    public bool Share { get; set; }
  }

3.将你的json装饰成下面的样子,并将其分配给param变量--。

{
  {"ImportParam":{

 "filePaths":{"Path":["String1","String2","String3"]},

  "Share": false}}
}
© www.soinside.com 2019 - 2024. All rights reserved.