Динамический интерфейс для MVC3 - PullRequest
0 голосов
/ 20 сентября 2011

Я новичок в MVC (3). Я пытаюсь найти идею о том, как я могу визуализировать пользовательский интерфейс с динамическими элементами управления, и возможно ли связать его с динамической моделью / классом?

Пример: Пользовательский интерфейс имеет поле «Имя», «Адрес» и «Состояние» (только код) из таблицы «Член». Модель / класс содержит поле имени, адреса и состояния.

Пользователь хочет просмотреть имя состояния, но оно происходит из другой таблицы (таблицы состояний), поэтому мне нужно добавить имя государства (где код штата = код штата в таблице Member) в пользовательский интерфейс, а также в модель / класс.

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

Любое понимание будет высоко оценено.

Спасибо.

1 Ответ

0 голосов
/ 20 сентября 2011

Пока ваша модель содержит это поле, оно будет связано.Я не на 100% понимаю, что вы имеете в виду под динамикой.Подумайте об этом так: связыватель модели возьмет опубликованные поля из вашей формы и сопоставит их имена со свойством в модели.

Если свойство не существует в модели, оно не будет найдено и, следовательно, не связано.Вы могли бы написать метод, который анализирует дополнительные поля из вашей коллекции FormsCollection (т. Е. Request.Form ["имя параметра"]) и помещает его в некоторую динамическую коллекцию в вашей модели, однако это может стать очень грязным.

Обычно с MVC вы просто хотите добавить свое новое поле в ViewModel, которая, по сути, является моделью, которую вы создаете специально для этого представления.Вы можете использовать такой инструмент, как AutoMapper http://automapper.codeplex.com/, чтобы отобразить (скопировать) значения свойств между вашей ViewModel и вашей реальной моделью.

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