【问题标题】:How to pass list of class object in get method - asp.net core 2.1如何在get方法中传递类对象列表 - asp.net core 2.1
【发布时间】:2019-11-08 06:27:27
【问题描述】:

我正在尝试在我的 ASP.Net Core 2.1 控制器中传递类对象列表。我得到计数​​为 0 的空对象。我使用了属性 [FromQuery], [FromRoute] 但结果保持不变。我的参数类如下:

public class Employee
{
    public int EmployeeCode { get; set; }
    public int EpfNumber{ get; set; }
}

我试图在我的控制器中获取员工类列表,如下所示:

[Route("[action]")]
public async Task<ActionResult<int>> GetEmployeeByEmpCode([FromQuery]List<Employee> emp)
{
    //----------Doing my stuff.
    return Ok(1);
}

emp 参数中,我得到的是空列表。通过谷歌搜索这个问题,我知道我需要使用[FromUri]。但是 [FromUri] 用于 Asp.Net WebApi 2,而不是 asp.net 核心。如果我只是添加字符串列表作为参数,那么它可以工作。问题在于类对象作为周长。

我的问题是如何在 Asp.Net Core 2.1 控制器中将类对象列表作为 peremeter 传递?

【问题讨论】:

标签: c# asp.net-core .net-core asp.net-core-mvc


【解决方案1】:

尝试使用 FromBody 看看它是否有效。我不确定您使用哪种技术(角度、反应等)将数据提交给控制器

[HttpPost("[action]")]
public async Task<ActionResult<int>> GetEmployeeByEmpCode([FromBody]List<Employee> emp)
{

    return Ok(1);
}

【讨论】:

  • 我使用 Angular 7 作为客户端技术
  • 然后就可以使用FromBody
  • TypeError:无法在“窗口”上执行“获取”:使用 GET/HEAD 方法的请求不能有正文。使用 FromBody 时
  • 那你的设计是错误的。没有人使用 get 请求发布对象列表。尝试使用 POST。再次检查我的答案
  • 可能需要从参数列表中获取...。使用 POST 我能够完成我的工作。但我实际上并没有发布我的数据,而是我正在尝试获取
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 2016-07-16
  • 1970-01-01
  • 1970-01-01
  • 2019-03-28
  • 2020-04-12
相关资源
最近更新 更多