Как работать с несколькими модельными связанными формами - PullRequest
0 голосов
/ 08 февраля 2012

Я создаю экран пользовательского интерфейса для редактирования деталей заказа электронной торговли. Модель для моего представления (OrderModel) имеет все, что мне нужно (в свойствах, которые также являются ViewModel), но пользовательский интерфейс не предназначен для возможности редактирования всего этого сразу.

Например, одна часть пользовательского интерфейса предназначена для данных о клиентах, другая - для деталей заказа, а другая - для отслеживания информации, каждая из которых имеет свои собственные кнопки «Сохранить».

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

Я бы хотел разделить редактируемые фрагменты на более мелкие ViewModel, которые публикуются и проверяются по отдельности, сохраняя строгую типизацию, но я не уверен, как этого добиться в MVC3. Нужны ли частичные представления, которые вызываются из основного представления?

К вашему сведению, я использую ASP.NET MVC 3 с синтаксисом Razor и клиентской частью FluentValidation.

1 Ответ

1 голос
/ 09 февраля 2012

Частичные виды являются хорошим решением. Вы можете передавать различные ViewModel для каждого частичного представления. Но если бы обновлялись только разделы общего вида, я бы не делал пост обратно на всю страницу. Вместо этого я бы использовал вызовы Ajax с использованием JQuery / Javascript для обновления отдельной информации обратно в контроллер. Я бы также посмотрел что-то вроде Knockout.js для обработки привязки данных на странице.

...