asp.net mvc Html.Listbox - как добавить элемент вручную - PullRequest
1 голос
/ 22 февраля 2010

Я ищу способ вручную добавлять элементы в html.ListBox в mvc. Я хочу, чтобы верхний элемент был "Все элементы". т.е.

All Items
Item1
Item2
Item3

Я сейчас звоню:

<%=Html.ListBox("items", Model.Items, new { style = "height:50px;width:100%" })%>

Возможно, мне придется добавить его в модель при настройке MultiSelectList, но я бы предпочел добавить это в контроллер.

Приветствия

Ответы [ 2 ]

2 голосов
/ 22 февраля 2010

Вы можете просто сделать так, чтобы ваша модель представления содержала список SelectListItem и добавляла элемент вручную в контроллер. Например:

List<SelectListItem> modelSelectList = model.Select(x => new SelectListItem()
                {
                    Text = x.Name,
                    Value = x.ID.ToString()
                }).ToList();

modelSelectList .Add(new SelectListItem() { Selected = false, Text = "All Items", Value = "-1");
1 голос
/ 22 февраля 2010

Я бы предпочел сделать это в вашем контроллере, но для быстрого исправления, я думаю, вы могли бы сделать что-то вроде

<% var items = Model.Items.ToList(); items.Insert(0, new SelectListItem() { Text = "All items" }); %>
<% Html.ListBox("items", items, new { style = "height:50px;width:100%" })%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...