`[FromQuery]` IEnumerable<SomeObject> 在 ASP.NET Core 3.1 中解析?

`[FromQuery]` IEnumerable<SomeObject> parsing in ASP.NET Core 3.1?

因此,当我测试绑定如何为 IEnumerable<string> 参数工作时,您只需在查询字符串中重复传递参数名称,就像这样:?a=item1&a=item2&a=item3...

那么,如果我有一个 IEnumerable<SimpleObject> a 类型的参数,我必须写什么,其中 SimpleObject 定义如下:

public class SimpleObject
{
   public string Number { get; set; }
   public string Text { get; set; }
}

为了成功地将它绑定到所述对象的列表?或者该映射不存在这样的默认 ModelBinder? (请在这种情况下提供示例 ModelBinder)

默认模型绑定设置支持索引格式,其中每个 属性 都是针对索引指定的。这最好用一个示例查询字符串来证明:

?a[0].Number=1&a[0].Text=item1&a[1].Number=2&a[1].Text=item2

如图所示,这设置了以下键值对

  • a[0].Number = 1
  • a[0].Text = item1
  • a[1].Number = 2
  • a[2].Text = item2

这在官方文档中没有完全涵盖,但有一个关于 collections and one on dictionaries 的部分。上面显示的方法是这些方法的组合。