2015-12-29 6 views
5

Ich habe eine enum in meinem C# -Code und ich möchte Namen von enum in meinem jQuery validieren Regeln.Wie verwendet man eine C# -Auszählung in Javascript

Enum:

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

Validate:

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

Das funktioniert wirklich, aber ich möchte so etwas wie dies machen:

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

In C# ich bekommen kann Namen auf diese Weise:

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

Wie kann ich es in Javascript machen? Danke für den Rat!

+0

Hallo str_str, bitte überprüfen Sie meine Antwort und lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen! –

+0

Ich habe keine Ahnung, warum Ihre Antwort nicht funktioniert –

+0

Was? Funktioniert nicht? –

Antwort

6

Sie können dasselbe wie ein JavaScript-Objekt machen.

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

Bitte vergessen Sie nicht das letzte , Komma zu entfernen.

können Sie die Werte wie verwenden:

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

Iteration? Kein Problem:

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

Vergessen Sie auch nicht die variable Deklaration !!!! –

+0

@ MatíasFidemraizer Ja, sicher. ':)' –

Verwandte Themen