c# - ASP.NET Core 中的模型绑定(bind)以将下划线映射到首字母大写属性名称

标签 c# asp.net asp.net-mvc asp.net-core asp.net-core-mvc

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

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

我的模型类如下所示:

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

    public string ResponseType {get; set;}

    public string RedirectUri {get; set;}
}

所以我想将查询字符串绑定(bind)到它,例如 client_idresponse_typeredirect_uri

有没有办法让 ASP.NET MVC Core 自动或通过属性注释来执行此操作?

我读过一些关于编写自定义模型绑定(bind)器的文章,但这些似乎 (1) 对于我想要实现的目标来说过于复杂,并且 (2) 是为 RC1 或更早的想法和一些语法编写的已经改变了。

提前致谢。

最佳答案

您可以在此处使用 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; }
}

关于c# - ASP.NET Core 中的模型绑定(bind)以将下划线映射到首字母大写属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38305295/

相关文章:

c# - 如何在我自己的 Mono (c#) 项目中使用 SharpSVN?

c# - SQL 服务器 : BCP vs SQLCMD - what is more efficient?

ASP.NET 连接字符串元数据语法

c# - Microsoft JScript 运行时错误 : Unable to get value of the property 'style' : object is null or undefined

c# - 可以要求我的事件的处理程序立即返回吗?

c# - 将对象模型转换为 XML

asp.net - ASP.NET MVC 1 向前兼容 ASP.NET MVC 2 吗?

asp.net-mvc - Html.TextBox 是否使用 Request.Params 而不是 Model?

asp.net-mvc - WebAPI 接口(interface)版本控制的推荐实践

javascript - 使用 javascript 将路由值传递给 Html.BeginForm