当我从javascript到控制器进行ajax调用时,字符串值会正确转换并自动转换为具有相同名称的枚举字段。
但是,另一方面,从控制器返回Json(),枚举字段发送它的数值而不是它的字符串表示。
如何在不侵入序列化程序的情况下获取字符串表示以返回javascript。以下是我目前所拥有的,我认为它会起作用,但事实并非如此。我仍然从ajax调用返回0或1。
[DataContract]
public enum Uom
{
[EnumMember(Value="CD")]
CD = 0,
[EnumMember(Value="SD")]
SD
}
答案 0 :(得分:1)
webapiconfig.cs
中的
添加以下内容
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add
(new Newtonsoft.Json.Converters.StringEnumConverter());
这会将所有枚举更改为字符串。希望这有帮助。