So habe ich eine Liste, um einige Jahre (seit 2014 bis zwei Jahre nach dem aktuellen) aus meiner Sicht anzuzeigen und es funktioniert großartig, aber was ich jetzt brauche, ist die Option currentYear als meinen Standardwert in der Dropdown-Liste festlegen. Ich versuche mit der ausgewählten Eigenschaft, aber kein Glück, vielleicht implementiere ich es nicht richtig. Danke im Voraus.Wie lege ich einen Standardwert in einer MVC .NET Dropdown-Liste fest?
In meinem Viewmodel Ich habe dies:
public int SelectedYear { get; set; }
Ausblick:
List<SelectListItem> selectedYear = new List<SelectListItem>();
int currentYear = int.Parse(DateTime.Now.Year.ToString());
var minYear = 2014;
var maxYear = currentYear + 2;
for (var i = minYear; i <= maxYear; i++)
{
if (currentYear == i)
{
var year = new SelectListItem()
{
Text = i.ToString(),
Value = i.ToString(),
Selected = true
};
selectedYear.Add(year);
}
else
{
var year = new SelectListItem()
{
Text = i.ToString(),
Value = i.ToString(),
Selected = false
};
selectedYear.Add(year);
}
}
@Html.DropDownListFor(m => m.SelectedYear, selectedYear, new { @class = "inlined form-control", @style = "width:100%" })
@Html.ValidationMessageFor(m => m.SelectedYear, "", new { @class = "text-danger" })
Sie müssen den Wert von 'SelectedYear' auf eine der Optionen einstellen, bevor Sie das Modell an die Ansicht übergeben. Und Ihr Code kann einfach 'IEnumerable selectedYear = new SelectList (Enumerable.Range (2014, 3));' –