ASP.NET MVC模型绑定-JSON属性和C#模型属性的不同名称

ASP.NET MVC模型绑定-JSON属性和C#模型属性的不同名称,c#,asp.net-mvc,json,C#,Asp.net Mvc,Json,我已经注释了模型类的属性,如下所示 [DataMember(Name = "EN")] public string EmployeeName{ get; set; } 这将产生一个紧凑的JSON(我正在使用JSON.NET序列化程序进行序列化) 但是,当使用POST或PUT请求将包含这些较小名称的JSON传递给控制器时,ASP.NET MVC模型绑定无法将“EN”JSON属性正确映射到EmployeeName。它需要JSON格式的EmployeeName 有没有关于如何解决这个问题的想法?你不

我已经注释了模型类的属性,如下所示

[DataMember(Name = "EN")]
public string EmployeeName{ get; set; }
这将产生一个紧凑的JSON(我正在使用JSON.NET序列化程序进行序列化)

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


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

你不能开箱即用。解决这个问题有两种方法:要么重命名viewmodel中的属性(毕竟,它是一个视图模型,因此必须满足您的限制),要么尝试编写自己的
ModelBinder
,在绑定属性时将
DataMember
注释考虑在内