Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在HttpGet中传递Asp.net模型内核中的数组属性?_C#_Asp.net_Asp.net Core - Fatal编程技术网

C# 如何在HttpGet中传递Asp.net模型内核中的数组属性?

C# 如何在HttpGet中传递Asp.net模型内核中的数组属性?,c#,asp.net,asp.net-core,C#,Asp.net,Asp.net Core,我有一个Asp.Net WebApi 2项目,现在已转换为Asp.Net Core 2.0 具有数组属性的HttpGet方法无法绑定模型 该模型在Asp.net Core 2.0中为空 (使用昂首阔步进行测试) 需要修改吗 public class Customer { public string name { get; set; } public new string[] systemId { get; set; } } CustomerController.c

我有一个Asp.Net WebApi 2项目,现在已转换为Asp.Net Core 2.0

具有数组属性的HttpGet方法无法绑定模型

该模型在Asp.net Core 2.0中为空 (使用昂首阔步进行测试)

需要修改吗

public class Customer
{       
    public string name { get; set; }
    public new string[] systemId { get; set; }
}
CustomerController.cs

[HttpGet]
public IActionResult RetrieveData(Customer filters)
{
// code 
在Asp.net WebApi2中,它工作正常,但在Asp.net核心值无法绑定的情况下,值为空


如果将其更改为[HttpPost],则可以正常工作,但为什么不将[HttpGet]与ASP.Net WebApi2一样工作。

。Net core将其默认绑定更改为
FromBody
。因此,您的签名现在应该是:

[HttpGet]
public IActionResult RetrieveData([FromBody]Customer filters)
{
// code 
并将其作为尸体发送

您还可以使用数据属性:
FromQuery

您可以阅读本文:


干杯

提供一个可用于重现问题的。包括示例请求。@Neo,如何测试请求?我想你应该这样做:获取API/RetrieveData?name=SomeName&system\u id=1&system\u id=2是的,我会这样做的,谢谢。GET请求没有正文啊,正确,误读了!但是查询中的
仍然适用于您已接近答案的情况。请检查此属性并重新编写您的答案。这两个属性都是空的吗?您的url看起来怎么样?”