在javascript中,如何读取枚举值?

时间:2013-01-30 09:39:30

标签: javascript asp.net-mvc json razor enums

我创建了名为“ grouptypejson ”的json变量,如下所述: -

var grouptypejson = {
    "opt": [
             {
                "n": "@SampleResource.GENERIC",
                "v": 0
             },
             {
                "n": "@SampleResource.DEPARTMENT",
                "v": 1
             }
           ]
}; 

上面的json变量是在javascript body下的cshtml页面中全局定义的。

我正在使用硬编码值,即“v”:0& “V”:1

我想通过在模型命名空间中定义的enum来获取数字,而不是使用硬编码值,如下所述: -

namespace My.Sample.Models.Enums
{
    public enum FilterEnum
    {
        Generic = 0,
        Department,
        All
    }
}

我想使用上面的枚举来读取值并将其存储在硬编码的地方

即。 "v":0 & "v":1

我不知道如何将枚举值作为整数并存储在“v”。

我尝试使用下面提到的,但结果是 Generic &分别是部门。替换0& 1在上面的json变量中带有以下字符串。

 "v":"@FilterEnum.GENERIC" & "v":"@FilterEnum.DEPARTMENT"

请指导我如何做同样的事情,我在我的html页面中包含了枚举命名空间。

如果我写错了,请纠正我。我是初学者和学习者。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以将枚举转换为int:

var grouptypejson = {
    "opt": [
             {
                "n": "@SampleResource.GENERIC",
                "v": @((int)SampleResource.GENERIC)
             },
             {
                "n": "@SampleResource.DEPARTMENT",
                "v": @((int)SampleResource.DEPARTMENT)
             }
           ]
};