Значения Enum, возвращаемые как числовые

Когда я делаю вызов ajax из javascript для контроллера, строковое значение преобразуется правильно и автоматически для меня в поле перечисления с тем же именем.
Однако, идя в другую сторону, возвращая Json() из контроллера, поле перечисления посылает ему числовое значение, а не строковое представление.

Как я могу получить строковое представление, чтобы вернуться к javascript, не так много вторгаясь в сериализатор. Вот что я сейчас имею, и я думал, что это сработает, но это не так. Я все еще получаю 0 или 1, возвращенный из вызова ajax.

 [DataContract]
 public enum Uom
 {
     [EnumMember(Value="CD")]
     CD = 0,

     [EnumMember(Value="SD")]
     SD
 }
3
17 июля '14 в 18:16
источник поделиться
1 ответ

в webapiconfig.cs

добавить следующий

config.Formatters.JsonFormatter.SerializerSettings.Converters.Add
                (new Newtonsoft.Json.Converters.StringEnumConverter());

это изменит все перечисление на строки. надеюсь, что это поможет.

1
17 июля '14 в 18:58
источник

Посмотрите другие вопросы по меткам или Задайте вопрос