Konvertieren meiner List<int> Liste<SelectListItem>
Ich habe eine DropDownList
mit einer Auswahl von zehn Jahren (2010 bis 2020) erstellt, wie :
var YearList = new List<int>(Enumerable.Range(DateTime.Now.Year - 5, ((DateTime.Now.Year + 3) - 2008) + 1));
ViewBag.YearList = YearList;
Aber hier ist mein problem, ich möchte ein Standardwert ausgewählt, und halten Sie diesen Wert, wenn ich behaupte meine Informationen und ich verwenden möchten, geben Sie List<SelectListItem>
für ihn, da sein praktischer.
Einmal in dieser Art werde ich einfach tun, als solche halten Sie einen ausgewählten Wert:
foreach (SelectListItem item in list)
if (item.Value == str)
item.Selected = true;
Wie kann ich umwandeln meine List<int>
in eine List<SelectListItem>
?
Sie nicht gesetzt
item.Selected = true
! Sie binden an eine model-Eigenschaft. Siehe meine Kommentare zu deiner letzten FrageInformationsquelleAutor | 2015-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie die Konvertierung mit Linq:
Wird das Element der Liste von SelectListItem
InformationsquelleAutor User2012384
Können Sie mit LINQ zu konvertieren, die Elemente aus einer
List<int>
in eineList<SelectListItem>
:InformationsquelleAutor Jason Evans
Gibt es jetzt eine noch sauberere Weg, dies zu tun:
Wobei Id der name der Liste den Wert, und die Beschreibung ist der text. Wenn Sie möchten, können Sie einen parameter hinzufügen, nachdem Sie diese Option, um das ausgewählte Element. Alles was du tun musst es pass in die ICollection, die Sie konvertieren möchten, um eine select-Liste!
In der Sie anzeigen, Sie tun dies:
InformationsquelleAutor CodingCretin