2

以下に説明するように、 「 grouptypejson 」というjson変数を作成しました。-

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

上記のjson変数は、JavaScript本体のcshtmlページでグローバルに定義されています。

ハードコードされた値、つまり「v」:0&「v」:1を使用しています

ハードコードされた値を使用する代わりに、モデルの名前空間で定義されている列挙型を介して数値を取得したい、つまり以下に説明します:-

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

上記の列挙型を使用して値を読み取り、ハードコードされた場所に保存したい

すなわち"v":0 & "v":1

列挙値を整数として取得し、「v」に格納する方法がわかりません。

下記の以下を使ってみましたが、結果はそれぞれジェネリックデパートメントでした。上記のjson変数で0と1を以下の文字列に置き換えました。

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

同じ方法を教えてください。htmlページにenum名前空間を含めています。

何か間違ったことを書いたら訂正してください。私は初心者であり、学習者です。

前もって感謝します。

4

1 に答える 1

2

enum を int にキャストできます。

var grouptypejson = {
    "opt": [
             {
                "n": "@SampleResource.GENERIC",
                "v": @((int)SampleResource.GENERIC)
             },
             {
                "n": "@SampleResource.DEPARTMENT",
                "v": @((int)SampleResource.DEPARTMENT)
             }
           ]
}; 
于 2013-01-30T09:41:46.780 に答える