Раскрывающийся список ASP.NET MVC с пустой опцией по умолчанию - PullRequest
78 голосов
/ 03 февраля 2009

Есть ли способ включить пустую опцию по умолчанию (или с текстом), если для выпадающего списка нет выбранного значения?

Ответы [ 4 ]

125 голосов
/ 03 февраля 2009

Ниже будет добавлена ​​строка. Пустой список SelectList (или IEnumerable), указанный в элементе ViewData ["Menu"]. Выбор будет иметь идентификатор и имя MenuID.

<%= Html.DropDownList( "MenuID",
                      (IEnumerable<SelectListItem>)ViewData["Menu"],
                      string.Empty ) %>

Документация: Метод DropDownList

7 голосов
/ 01 февраля 2016

Например:

    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"})

Результат:

inline image

0 голосов
/ 17 июня 2014

Это простое решение сработало для моего проекта mvc5:

в поле зрения:

@{
     Model.ModelItemsList.Add(new ModelItem{ });
     SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}

Просто добавьте новый элемент к List<>, который вы хотите отобразить в своем представлении. В моем случае я добавил пустой «ModelItem» к своему List<ModelItem> ModelItemList. Так как мой ModelItemID - это Guid, мне пришлось проверить Guid.Empty в моем методе контроллера и выполнить некоторый код. Вот и все.

0 голосов
/ 02 февраля 2013

Представленное здесь решение сработало очень хорошо для меня: http://forums.asp.net/t/1142484.aspx/1

Основная идея состоит в том, что вы устанавливаете свойство AppendDataBoundItems вашего DropDownList на true, а затем ставите asp:ListItem в DropDownList, и это станет вашим элементом по умолчанию со всеми элементами с привязкой к данным, следующих после это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...