【发布时间】:2014-09-08 13:21:19
【问题描述】:
当我从 javascript 对控制器进行 ajax 调用时,字符串值被正确地自动转换为具有相同名称的枚举字段。
然而,反过来,从控制器返回 Json(),让 enum 字段发送它的数值而不是它的字符串表示形式。
我怎样才能让字符串表示返回到 javascript 而不会过多地入侵序列化程序。以下是我目前拥有的,我认为它会起作用,但事实并非如此。我仍然从 ajax 调用返回 0 或 1。
[DataContract]
public enum Uom
{
[EnumMember(Value="CD")]
CD = 0,
[EnumMember(Value="SD")]
SD
}
【问题讨论】:
-
接受的答案是在 2010 年。4 年是一段很长的时间,所以我想知道除了弄乱序列化器本身之外是否有任何改变,因为如果是这样的话,它甚至不值得我的情况。然后我将其转换为 javascript 本身,但如果它是一些注释或任何使这项工作的东西,那么它是值得的。
-
我希望我是在开玩笑,但它仍然适用。
Json()结果默认使用内置的 .NET JSON 序列化程序,它仍在将枚举序列化为字符串。如果您愿意,可以毫不费力地切换到 JSON.NET。 -
无赖。好,谢谢。我将在 javascript 端手动转换。
标签: c# asp.net-mvc asp.net-web-api