У меня есть модель, в которой есть список объектов, которые все должны иметь редактируемый выпадающий список.Например, рассмотрим библиотеку книг со следующим определением:
class Category
{
int id;
int name;
}
class Book
{
int id;
string name;
int categoryId;
}
class Library
{
List <Book> books;
}
Таким образом, в библиотеке есть список книг, и у каждой книги есть категория.В пользовательском интерфейсе категория выбирается из раскрывающегося списка, поэтому существует один раскрывающийся список на книгу.Список категорий одинаков для всех книг.Как я мог сделать эту работу с бритвой?При попытке привязать раскрывающийся список к определенному индексу в списке книг с помощью html helper переменная индекса использует свое последнее значение, поэтому все раскрывающиеся списки привязываются к одной и той же книге.Кроме того, как будет обрабатываться добавление / удаление книг?
Упрощенная версия представления:
@for (int i = 0; i < Model.Books.Count; ++i)
{
<tr>
<td>
@Html.DropDownListFor(model => model.Books[i].CategoryId, (IEnumerable<SelectListItem>)ViewBag.Categories)
</td>
</tr>
}
Редактировать: Проблема в том, что раскрывающиеся списки не получают начальное значение.Если я изменю их и сохраню список, правильные значения будут отправлены обратно в бэкэнд.Есть идеи, чем это может быть вызвано?