2015-12-29 13 views
5

Mam wyliczenie w moim kodzie C# i chcę uzyskać nazwy od enum w moich zasadach sprawdzania poprawności jQuery.Jak używać wyliczenia C# w JavaScript

ENUM:

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

Walidacja:

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" 
     }); 
    }, 
}); 

naprawdę to działa, ale chcę zrobić coś takiego:

"config.EnumFormat[" + item + "].Start": { 
    required: true, 
    digits: true, 
    range: [1, 200] 
} 

w C# mogę dostać Nazwy w ten sposób:

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

Jak mogę zrobić to w javascript? Dzięki za radę!

+0

Cześć str_str, uprzejmie sprawdź moją odpowiedź i daj mi znać, jeśli potrzebujesz więcej pomocy! –

+0

Nie mam pojęcia, dlaczego twoja odpowiedź nie działa –

+0

Co? Nie działa? –

Odpowiedz

6

Możesz zrobić to samo, co obiekt JavaScript.

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

Nie zapomnij usunąć ostatniego przecinka ,.

Można używać wartości jak:

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

iteracji? Nie ma problemu:

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

Pamiętaj także o deklaracji zmiennej !!!! –

+0

@ MatíasFidemraizer Tak, jasne. ':)' –