【问题标题】:How to post List of Dictionary如何发布字典列表
【发布时间】:2020-03-12 15:50:48
【问题描述】:

我有一个正在发布对象集合的客户端(在本例中为 POSTMAN)。事先不知道对象的属性,所以我不能使用具体的 C# 模型。

所以我使用Dictionary<string,object> 表示单个对象,其中Key 将是属性名称,Value 将是属性的值。由于客户正在发布收藏,我正在使用List<Dictionary<string,object>>

问题

在控制器的操作方法中,每个字典都有Key,但对应的值为NULL

邮递员

提琴手表演

model%5B0%5D.FirstName=foo&model%5B0%5D.LastName=bar&model%5B1%5D.FirstName=james&model%5B1%5D.LastName=smith

模型中的快速观看:

我尝试使用JObjectExpandoObject 作为模型,但没有成功

【问题讨论】:

  • 为什么不用POST JSON 代替呢?例如:[{"key1":"value1","key2":"value2"}]
  • 我无法控制客户端
  • 你试过model[0][0].Key = "FirstName"model[0][0].Value = "Foo"吗?
  • 这能回答你的问题吗? ASP.NET MVC Binding to a dictionary
  • 这就是它的发布方式。检查我发布的 Fiddler 捕获

标签: asp.net asp.net-mvc asp.net-core asp.net-core-mvc asp.net-core-2.0


【解决方案1】:

我将模型类型从 List<Dictionary<string, object>> 更改为 List<Dictionary<string, string>> 并且成功了

    [HttpPost]
    public IActionResult Update([FromForm]List<Dictionary<string, string>> model)
    {
        return Ok();
    }

【讨论】:

    猜你喜欢
    • 2021-07-17
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    相关资源
    最近更新 更多