Задайте значение по умолчанию/нулевое значение с помощью Select TagHelper

В asp.net mvc вы можете использовать:

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

Используя asp.net 5, как мне включить значение по умолчанию или null (- SELECT -) в taghelper:

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

Ответы

Ответ 1

Вы можете просто вставить элемент опции внутри select:

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

Ключевое слово disabled в приведенном выше коде означает, что строка "--- SELECT ---" не может быть выбрана снова, как только выбор был выбран в списке. Если вы хотите, чтобы пользователь мог снова очистить выбор (т.е. Связал ли оно с полем с нулевым значением), просто оставьте отключенным.

Ответ 2

Если вы используете asp-элементы для своей модели, она использует значение 0 для выбранного элемента. Если у вас есть тег <option> с вашей строкой по умолчанию без значения,

Вы должны использовать цикл для <option> и поставить свой вариант по умолчанию из цикла. Это пример для.Net Core с использованием asp-элементов:

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

и теперь это еще один пример использования цикла:

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

Ответ 3

Если вы хотите сохранить значение null в базе данных, используйте <option selected value="">Full Access</option>