带方括号的模型绑定 POST 值

Model binding POST values with square brackets

如何将名为 "data[email]" 的 POSTed 参数绑定到 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 
}

接收方法POST:

public ActionResult Post(MyModel payload)
{
    return Ok(payload);
}

背景:

MailChimp 使用 POST 作为 webhooks,并在其中用方括号发回一些值。我不知道如何建模绑定它。

我可以使用 Request.Form,但是...我更愿意使用模型绑定。

更新模型 data 属性 以使用字典

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

访问电子邮件将通过像

这样的字典来完成
var email = payload.data["email"];