2016-01-18 16 views
13

In asp.net Mvc Sie verwenden können:Set Default/Nullwert mit Select TagHelper

@Html.DropDownListFor(model => model.Category, ViewBag.Category as IEnumerable<SelectListItem>, "-- SELECT --", new { @class = "form-control" }) 

asp.net Verwenden von 5, wie füge ich die Standard-oder Null-Wert (- SELECT -) in einem taghelper:

<select asp-for="Category" asp-items="@ViewBag.Category" class="form-control"></select> 

Antwort

21

Sie können nur eine Option Element in der Auswahl einfügen:

<select asp-for="Category" asp-items="@ViewBag.Category" class="form-control"> 
    <option disabled selected>--- SELECT ---</option> 
</select> 

Das disabled Schlüsselwort in dem obigen Code bedeutet, daß die „--- --- SELECT“ row kann nicht wieder aufgenommen werden, sobald eine Auswahl aus der Liste ausgewählt wurde. Wenn Sie möchten, dass der Benutzer die Auswahl erneut löschen kann (d. H. Wenn er an ein Nullwertfeld gebunden ist), lassen Sie disable einfach aus.

+1

So einfach, wenn Sie wissen, wie dank Matt. – Reafidy

+1

danke, das hat mir geholfen! –

+1

Ich brauchte den Optionswert auf einen leeren String zu setzen, damit der Benutzer das zugrunde liegende Nullable-int Feld auf null out: DeveloperDan

0

Wenn Sie asp-Artikel für Ihr Modell verwenden, verwendet es Wert 0 für das ausgewählte Element, wenn Sie Tag ohne Wert <option> mit Ihrem Standard-Zeichenfolge haben,

Sie müssen eine Schleife für <option> verwenden und Ihre Standardoption setzen außerhalb der Schleife. Dies ist ein Beispiel für .Net-Core mit asp-Artikel:

<select asp-for="DepartmentUnit" asp-items="@Model.DepartmentUnits" class="form-control"></select> 

und jetzt ist dies ein weiteres Beispiel für die Verwendung von Schleife:

<select> 
<option val="">--Select--</option> 
foreach(item in Model.DepartmentUnits) 
{<option val="@item.val">@item.title</option>} 
</select> 
Verwandte Themen