veRWeNdeN ASPNET MVC 4, sagen, ich habe eine EnumerationAufzählung toselectlist mit korrektem Wert
public enum IndicatorGroup
{
Include_ANY_MatchingIndicator = 1,
Include_ALL_MatchingIndicator = 2,
Exclude_ANY_MatchingIndicator = 3,
Exclude_ALL_MatchingIndicator = 4
};
ich folgende Hilfsmethode verwenden, um sie zu binden Liste Dropdown wie hier beschrieben: How do you create a dropdownlist from an enum in ASP.NET MVC?
public static class MyExtensions{
public static SelectList ToSelectList<TEnum>(this TEnum enumObj)
where TEnum : struct, IComparable, IFormattable, IConvertible
{
var values = from TEnum e in Enum.GetValues(typeof(TEnum))
select new { Id = e, Name = e.ToString() };
return new SelectList(values, "Id", "Name", enumObj);
}
}
Jetzt möchte ich, dass der ausgewählte Wert eine Zahl ist (dies wird wahrscheinlich in dem obigen Code als angegeben)
Id = e ,
aber wenn ich den ausgewählten Wert bekomme, gibt es mir den Text Exclude_ALL_MatchingIndicator anstelle der Zahl 4. Wie kann ich es richtig einstellen?
VIEW
@Html.DropDownListFor(m => m.IndicatorGroups, Model.IndicatorGroups.ToSelectList(), new { @id = "ddlIndicatorGroup" })
'Id = (int) e', aber warum wollen Sie es sich um eine Nummer zu sein? –
tat id = (int) e, aber es gab Parse-Fehler. kann nicht konvertieren Typ TEnum zu int – Samra
Ich möchte einfach Wert in der Dropdown-Liste als Zahlen und Text als Include_ANY_MatchingIndicator usw. – Samra