Установите выбранное значение раскрывающегося меню в ASP.Net MVC - PullRequest
0 голосов
/ 28 января 2011

У меня ASP.Net MVC view, который наследуется от ViewModel. ViewModel содержит данные из двух объектов в модели:

public PaginatedList<Entry> Entries { get; private set; }
public SelectList ColumnValues { get; private set; }

Эти два свойства используются в представлении, основанном на шаблоне списка. Список перебирает список записей и отображает строку таблицы для каждого из них. Внутри одной из ячеек таблицы в строке находится DropDownList, заполненный из свойства ColumnValues ​​ из ViewModel.

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

@Html.DropDownList("ColumnValue", Model.ColumnValues)

Отображает страницу, каждая строка с DropDownList в одной из ячеек. Однако выбранное значение всегда устанавливается в «ColumnValue» для первой строки и является таким для всех строк.

Как мне изменить код, чтобы выбранное значение DropDownList совпадало с ColumnValue для каждой отдельной записи.

Цель состоит в том, чтобы создать своего рода редактируемую сетку данных со ссылками для публикации изменений в строке с помощью AJAX.

Ответы [ 3 ]

0 голосов
/ 31 января 2011

Использование DropDownListFor () в представлении и установка selectList для следующих работ:

new SelectList(Model.ColumnValues,"ColumnValue","ColumnValue", item.associatedField)

Кажется, это не очень хороший способ, но он работает. И это самое главное прямо сейчас. Будем благодарны за любые дальнейшие комментарии.

0 голосов
/ 12 ноября 2013

Вы можете создать пользовательский помощник html, как указано в моем обновленном коде (Обновленный код - для MyDropdownListFor) на Установить атрибут класса для определенных записей Dropdownlist в MVC4 и использовать атрибут «Выбрано» в качестве атрибута класса. Надеюсь, это поможет.

0 голосов
/ 28 января 2011

Предположим, что ViewData["ColumnValue"] = "5". Теперь в вашем списке выбора ColumnValues вам нужно иметь элемент со значением = "5", и он будет выбран автоматически. Например:

ColumnValues = new SelectList(new[] {
    new SelectListItem { Value = "1", Text = "Item 1" },
    new SelectListItem { Value = "2", Text = "Item 2" },
    new SelectListItem { Value = "3", Text = "Item 3" }
}, "Value", "Text");

, а затем ViewData["ColumnValue"] = "2" автоматически выберет второй элемент.

...