【问题标题】:ASP.NET MVC model binding - different names for JSON property and C# model propertiesASP.NET MVC 模型绑定 - JSON 属性和 C# 模型属性的不同名称
【发布时间】:2012-07-28 02:52:46
【问题描述】:

我已将模型类的属性注释如下。

[DataMember(Name = "EN")]
public string EmployeeName{ get; set; }

这总体上会产生一个紧凑的 JSON(我正在使用 JSON.NET 序列化程序进行序列化)。

但是,当使用 POST 或 PUT 请求将包含这些较小名称的 JSON 传递给控制器​​时,ASP.NET MVC 模型绑定无法将“EN”JSON 属性正确映射到 EmployeeName。它需要 JSON 格式的 EmployeeName

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: c# asp.net-mvc json


    【解决方案1】:

    您不能开箱即用。你有两种方法解决这个问题:或者在你的视图模型中重命名属性(毕竟,它是一个 view 模型,所以它必须应对你的限制)或者你可以尝试编写自己的ModelBinder这将在绑定属性时考虑DataMember 注释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多