2015-12-29 10 views
5

私のC#コードに列挙型があり、jQueryの検証規則で列挙型から名前を取得したいと考えています。JavascriptでC#列挙型を使用する方法

列挙型:

public enum EnumItemField 
{ 
    Zero = 0, 
    One = 1, 
    Two = 2, 
    Three = 3, 
    Four = 4, 
    Five = 5, 
} 

検証:

function updateFieldStatus() { 
} 

$(document).ready(function() { 
$("#IntegrationService").validate({ 
    rules: { 
     //Set range of Start 
     "config.EnumFormat[Zero].Start": { 
      required: true, 
      digits: true, 
      range: [1, 200] 
     }, 
     "config.EnumFormat[One].Start": { 
      required: true, 
      digits: true,   
      range: [1, 200] 
     }, 
    }, 
    submitHandler: function() { 
     MsgBoxService.show({ 
      //setId: "saveload", 
      //objectId: "asrun" 
     }); 
    }, 
}); 

これは実際に動作するが、私はこのような何かを作りたい:

私が得ることができるのC#で
"config.EnumFormat[" + item + "].Start": { 
    required: true, 
    digits: true, 
    range: [1, 200] 
} 

このような名前:

foreach (var item in Enum.GetNames(typeof(EnumItemField))) 

どうすればjavascriptで作成できますか?アドバイスをありがとう!

+0

こんにちはstr_str、私の答えを親切にチェックして、もう助けが必要かどうかお知らせください! –

+0

答えがうまくいかない理由がわかりません –

+0

何ですか?うまくいきませんか? –

答えて

6

JavaScriptオブジェクトと同じことができます。

EnumItemField = { 
    "Zero": 0, 
    "One": 1, 
    "Two": 2, 
    "Three": 3, 
    "Four": 4, 
    "Five": 5 
} 

最後,コンマを削除することを忘れないでください。

EnumItemField.Zero  // 0 
EnumItemField["Zero"] // 0 

反復:

あなたは次のような値を使用することができますか?問題はありません:

for (var item in EnumItemField) { 
    item;    // Zero 
    EnumItemField[item]; // 0 
} 
+0

また、変数宣言を忘れないでください!!!! –

+0

@MatíasFidemraizerええ、確かに。 ':)' –

関連する問題