使用方括号将POST值绑定到模型

时间:2018-06-16 13:45:27

标签: c# asp.net-core-mvc asp.net-core-2.0 mailchimp

如何绑定名为"数据[电子邮件]"的POSTed参数?到Asp.Net MVC中的模型?

发布数据:

type=subscribe&data%5Bemail%5D=my%40iemail.com

没有网址编码:

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,但是...真的更喜欢使用模型绑定。

1 个答案:

答案 0 :(得分:1)

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

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

访问电子邮件将通过字典完成,如

var email = payload.data["email"];