web-dev-qa-db-fra.com

Définir la valeur par défaut/nulle avec Select TagHelper

Dans asp.net mvc, vous pouvez utiliser:

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

Avec asp.net 5, comment inclure la valeur par défaut ou nulle (- SELECT -) dans un taghelper:

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

Vous pouvez simplement insérer un élément d'option dans la sélection: 

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

Le mot clé disabled dans le code ci-dessus signifie que la ligne "--- SELECT ---" ne peut plus être sélectionnée une fois qu'un choix a été sélectionné dans la liste. Si vous voulez que l'utilisateur puisse effacer à nouveau la sélection (c'est-à-dire si elle est liée à un champ nullable), omettez simplement de désactiver.

42
Matt

Si vous utilisez des éléments asp pour votre modèle, il utilise la valeur 0 pour l'élément sélectionné, si vous avez la balise <option> avec votre chaîne par défaut sans valeur,

Vous devez utiliser une boucle pour <option> et mettre votre option par défaut hors de la boucle . Voici un exemple pour .Net Core utilisant des éléments asp:

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

et voici un autre exemple d'utilisation de la boucle:

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

Si vous souhaitez stocker la valeur null dans la base de données, utilisez <option selected value="">Full Access</option>

0