【问题标题】:QueryString parameter binding with an arrayQueryString 参数与数组绑定
【发布时间】:2018-07-04 02:46:24
【问题描述】:

我正在关注我可以找到的所有文档,用于将查询字符串参数绑定到 int[] 类型的操作参数,但我的数组始终为空。

重现:启动一个普通的 aspnet 核心 Web 应用程序、ASP.NET Core 2.1、API 模板项目,并通过添加以下操作来修改默认 ValuesController:

[HttpGet("count")]
public ActionResult<int> GetCountOfItems([FromQuery]int[] number)
{
    return number.Count();
}

像这样调用这个动作:

GET /values/count?number=1&number=2

应该返回 2,但总是以 0 结束。

除了创建自定义模型绑定器之外还有什么想法吗?

【问题讨论】:

  • 我使用的是 2.1.301 版本。我无法重现问题,所以看来这个问题正在解决。

标签: asp.net-core-2.1


【解决方案1】:

此问题已得到修复,并将随下一个补丁一起提供。您可以在此处查看问题的更多详细信息:https://github.com/aspnet/Mvc/issues/7712

【讨论】:

    【解决方案2】:

    在推出适当的补丁之前,您可以为 FromQuery 属性构造函数指定名称参数。

    [FromQuery(Name="number")]
    

    在此之前将其作为答案

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-03
      相关资源
      最近更新 更多