ASP.NET в MVC выпадающего списка с пустым параметром по умолчанию


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

4 77

4 ответа:

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

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

документы: метод DropDownList

Например:

    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

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

в виде:

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

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

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

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