C# 带方括号的模型绑定POST值

C# 带方括号的模型绑定POST值,c#,asp.net-core-mvc,asp.net-core-2.0,mailchimp,C#,Asp.net Core Mvc,Asp.net Core 2.0,Mailchimp,如何将已发布的名为“数据[电子邮件]”的参数绑定到Asp.Net MVC中的模型? 发布数据: type=subscribe&data%5Bemail%5D=my%40iemail.com 没有url编码: type=subscribe&data[email]=my@email.com 我要绑定到的模型: public class MyModel { public string type {get;set;} public string dataemail {get;

如何将已发布的名为“数据[电子邮件]”的参数绑定到Asp.Net MVC中的模型?

发布数据:

type=subscribe&data%5Bemail%5D=my%40iemail.com
没有url编码:

type=subscribe&data[email]=my@email.com
我要绑定到的模型:

public class MyModel
{
  public string type {get;set;}
  public string dataemail {get;set;} //What do I do here to 
}
接收邮件的方法:

public ActionResult Post(MyModel payload)
{
    return Ok(payload);
}
背景: MailChimp将POST用于Webhook,并用方括号将一些值发回。我想不出如何对它进行模型绑定


我可以用申请表,但是。。。更愿意使用模型绑定。

更新模型
数据
属性以使用字典

public class MyModel {
    public string type { get; set; }
    public Dictionary<string, string> data { get; set; }
}

作为将来的参考,其他可能看到这一点的人。。。这对于上面的示例非常有效,但很有可能,您正在寻找一种解析Mailchimp webhook负载的方法——上面的方法适用于许多字段,但不适用于“合并”字段,例如:data[merges][FNAME]。最后,我放弃并使用了请求[Field[Fixe] [fNeN] ]。toSTRIN()它工作得很好,但是比模型绑定要优雅。@ Kjensen可以考虑创建一个自定义的模型绑定器,它将遍历表单数组并构造强类型的模型。是的,我确实考虑过了,但看起来太过分了,所以我就离开了。但是谢谢:)
var email = payload.data["email"];