Есть ли способ включить пустую опцию по умолчанию (или с текстом), если для выпадающего списка нет выбранного значения?
Вывод ASP.NET MVC с пустым вариантом по умолчанию
Ответ 1
Ниже будет добавлено string.Empty к SelectList (или IEnumerable), указанному в элементе ViewData [ "Menu" ]. Выбор будет иметь идентификатор и имя MenuID.
<%= Html.DropDownList( "MenuID",
                      (IEnumerable<SelectListItem>)ViewData["Menu"],
                      string.Empty ) %>
Документация: Метод DropDownList
Ответ 2
Пример:
    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"})
Результат:
Ответ 3
Это легкое решение сработало для моего проекта mvc5:
:
@{
     Model.ModelItemsList.Add(new ModelItem{ });
     SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
Просто добавьте новый элемент в List<>, который вы хотите отобразить в своем представлении.
В моем случае я добавил пустой "ModelItem" в мой List<ModelItem> ModelItemList. Поскольку мой ModelItemID является Guid, я должен был проверить Guid.Empty в моем методе контроллера и сделать некоторый код.
Вот и все.
Ответ 4
Представленное здесь решение очень сработало для меня: http://forums.asp.net/t/1142484.aspx/1
Основная идея заключается в том, что вы устанавливаете свойство AppendDataBoundItems вашего DropDownList на true, а затем помещаете asp:ListItem в DropDownList, и это станет вашим элементом по умолчанию со всеми деталями данных, которые появятся после он.
