Benutzer mit den meisten Antworten
ASP.NET MVC: Wie kann ich für DropDown ein Selected Item festlegen?

Frage
-
Hi,
ich habe ein DropDown:
@Html.DropDownListFor(model => model.ListGeoPositions, (IEnumerable<SelectListItem>)ViewBag.TownSelection, new { onchange = @"PositionChanged(this.value);"})
Wie kann ich ich innerhalb dieser Anweisung oder in der Action-Methode ein Item der DropDownList (nach ID) auswählen, welche voreingestellt angezeigt wird?
Ich suche also so was wie "SelectetItem = model.SelectedPosition".
Danke für Unterstützung!
Frank
Antworten
-
Hallo Frank,
da gibt es doch etliche Artikel, die das Thema behandeln. Siehe bspw.:
How to select a default value in DropDownList from a database
ASP.Net MVC: Get DropDownList Selected Text and Selected Value in Controller
...
Generell baust Du dir eine List<SelectListItem> als Datenquelle für deine ListBox und das vorausgewählte Element in der Liste erhält dann
<Element>.Selected = true;
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert frank me Samstag, 16. Dezember 2017 14:48
Alle Antworten
-
Hallo Frank,
da gibt es doch etliche Artikel, die das Thema behandeln. Siehe bspw.:
How to select a default value in DropDownList from a database
ASP.Net MVC: Get DropDownList Selected Text and Selected Value in Controller
...
Generell baust Du dir eine List<SelectListItem> als Datenquelle für deine ListBox und das vorausgewählte Element in der Liste erhält dann
<Element>.Selected = true;
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert frank me Samstag, 16. Dezember 2017 14:48
-
Herzlichen Dank Stefan,
es funktioniert, nachdem ich ich umgestellt habe auf:
@Html.DropDownListFor(model => model.SelectedGeoPosition, Model.Towns, "Please select a town (near by)", new { onchange = @"PositionChanged(this.value);" })
Dafür habe ich die Methode im Control angepasst, welche mir die Liste (jeweils neu) zusammenstellt:
private void setTownListSelection() { var items = new List<SelectListItem>(); foreach (GeoPosition gp in ads.ListGeoPositions) { items.Add(new SelectListItem() { Text = gp.Town, Value = gp.Id.ToString(), Selected = ads.SelectedGeoPosition == gp.Id }); } ads.Towns = items; }
Grüße!
von Frank