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>
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.
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>
Si vous souhaitez stocker la valeur null dans la base de données, utilisez <option selected value="">Full Access</option>