2017-04-25 2 views
0

Ich habe ein Ansichtsmodell, das mit einem Ienumerable verbunden ist, und eine Ansicht, die mit dem Ansichtsmodell verbunden ist, das den Ienumerable als Dropdown zieht. Mein Problem ist, wenn ich es auswähle, ist der Wert 0,1,2,3 usw. und so weiter. Wie bekomme ich es, den Wert der Enum BRO, CGS, YHH, POH zu übergeben?IEnumerable Dropdown ändern, um Enumerationswert statt Nummer auszuwählen C#

Ansicht

@Html.LabelFor(m => m.AllLicenseTypes) 
@Html.DropDownListFor(m => m.AllLicenseTypes, new { @class = "form-control" }) 

Ansichtsmodell

[Display(Name = "License Types")] 
public LicenseTypesEnum AllLicenseTypes { get; set; } 

IEnumerable

public enum LicenseTypesEnum 
{ 
    BRO, 
    CGS, 
    YHH, 
    POH 
} 
+0

Sie haben eine 'enum' aufgeführt anstelle eines' IEnumerable' ... –

Antwort

0

Zuerst Enum! = IEnume fabelhaft. Sie sind nur tangential verwandt.

Zweitens, wenn Sie das enum verwenden möchten, was Sie suchen, ist Enum.GetNames. Versuchen Sie Ihren Code so etwas wie dies zu ändern:

[Display(Name = "License Types")] 
public IEnumerable<string> AllLicenseTypes { 
    get { 
     return Enum.GetNames(typeof(LicenseTypesEnum)); 
    } 
} 
+0

Zuerst Danke! Das wusste ich nicht. – CheezStix

Verwandte Themen