ASP.NET Core中的模型绑定将下划线映射到标题案例属性名称

我有一个模型类,我想在我的ASP.NET MVC Core(RC2)应用程序中绑定查询字符串。

我需要在查询字符串键中支持下划线以确认OAuth规范,但我想在我的应用程序中使用标题案例属性名称。

我的模型类看起来像这样:

class OauthParameters { public string ClientId {get; set;} public string ResponseType {get; set;} public string RedirectUri {get; set;} } 

所以我想将查询字符串如client_idresponse_typeredirect_uri绑定到它。

ASP.NET MVC Core有没有办法自动或通过属性注释来实现?

我已经阅读了一些关于编写自定义模型绑定器的文章,但是这些似乎(1)对于我想要实现的内容而言过于复杂,并且(2)是为RC1或更早版本编写的,并且一些语法已经改变。

提前致谢。

您可以在FromQuery使用FromQuery属性的Name属性。

例:

 public class OauthParameters { [FromQuery(Name = "client_id")] public string ClientId { get; set; } [FromQuery(Name = "response_type")] public string ResponseType { get; set; } [FromQuery(Name = "redirect_uri")] public string RedirectUri { get; set; } } 

或者没有属性你可以做这样的事情,我觉得更清洁(当然,如果模型属性与查询参数相同)。

 public async Task Get([FromQuery]ReportQueryModel queryModel) { }