Gibt es eine Möglichkeit, eine leere Standardoption (oder Text) einzuschließen, wenn für eine Dropdown-Liste kein Wert ausgewählt ist?
asp.net-mvc
html.dropdownlistfor
html-select
James Newton-King
quelle
quelle
Zum Beispiel:
Controller : private void InitScreenInfoCollate() { IEnumerable<MstBrd> listbrd = ibrandRepository.GetItemsByUsercode(""); ViewBag.Brands = new SelectList(listbrd, "brd_cod", "brd_mei", null); } View : @Html.DropDownList("Brands", null, string.Empty, new { @class = "form-control"})
Ergebnis:
quelle
Diese einfache Lösung funktionierte für mein mvc5-Projekt:
im Hinblick auf:
@{ Model.ModelItemsList.Add(new ModelItem{ }); SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName"); }
Fügen
List<>
Sie einfach ein neues Element zu dem hinzu, das Sie in Ihrer Ansicht anzeigen möchten. In meinem Fall habe ich ein leeres "ModelItem" zu meinem hinzugefügtList<ModelItem> ModelItemList
. Da meine ModelItemID eine Guid ist, musste ich in meiner Controller-Methode nach Guid.Empty suchen und Code ausführen. Das ist alles.quelle
Die hier vorgestellte Lösung hat für mich sehr gut funktioniert: http://forums.asp.net/t/1142484.aspx/1
Die Grundidee ist, dass Sie die
AppendDataBoundItems
Eigenschaft IhresDropDownList
auf setzentrue
und dann einasp:ListItem
in dasDropDownList
und setzen, das Ihr Standardelement wird, wobei alle datengebundenen Elemente danach kommen.quelle
-1
Dies gilt für ASP.NET Web Forms, nicht für MVC.