Список для MVC3 Razor. Выбор пользователя из полей базы данных - PullRequest
0 голосов
/ 08 июня 2011

Я работаю с проектом Razor MVC3

У меня есть модель

public class ProductFormatModel
{
    public int ID {get; set;}

    public string SerialID { get; set; }

    public ProductTypes ProductType { get; set; }

    public List<ProductComponent> Components { get; set; }
}

Класс ProductComponent имеет два свойства: int ID и строку Description.

Я бы хотел, чтобы контроллер работал со строго типизированным представлением типа ProductFormatModel для создания новой модели ProductFormatModel. Представление «Создать» должно выглядеть следующим образом:

  • Текстовое поле для вставки SerialID (готово)
  • Раскрывающийся список для выбора значения перечислителя ProductType (выполнено)
  • Список с разными строками, показывающий свойство «Описание» ProductComponent. Каждая строка должна представлять запись в базе данных. Пользователь должен иметь возможность выбрать одну или несколько строк, и таким образом свойство «Компоненты» должно иметь эти объекты в списке.

База данных представляет собой простой DbContext. MyDB.Components дает мне набор записей таблицы «Компоненты»

Как передать значения набора записей из контроллера в представление? Должен ли я вызвать listboxfor с multiselectlist? Должен ли я добавить другое свойство в модель, например List ComponentsToBeSelected, в котором я могу передать список?

1 Ответ

2 голосов
/ 08 июня 2011

Один возможный дизайн:

Используйте два списка в вашем представлении.Загрузите первое со всеми возможными ProductComponent с , а не в model.Components, и используйте ListBoxFor, чтобы связать второе со списком model.Components.

Поместите две кнопки, Добавить и Удалить , между списками.Соедините их с jQuery для перемещения элементов между двумя списками.

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