MVC способ обработки ввода данных - PullRequest
0 голосов
/ 28 марта 2009

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

информация о продукте информация о цене продукта цена товара подробнее

информация о цене и информация о цене относятся к продукту и являются списками

В моем подходе к веб-формам я сохранял бы свой основной объект продукта в состоянии просмотра и заполнял его информацию о ценах и детали, выполняя обратную передачу ajax. Таким образом, я могу создать компактный модуль, который очень удобен для пользователя с точки зрения определения большого количества данных из одного места без необходимости ввода этих данных из отдельных модулей. И когда я закончу, я сделаю один product.save (), и все данные будут сохранены в соответствующих таблицах на БД.

Сейчас я создаю похожее приложение на .net mvc framework и размышляю над тем, что было бы хорошим способом справиться с этим на mvc.

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

Буду признателен за ваш вклад в способы решения этой проблемы в рамках MVC

Ответы [ 3 ]

0 голосов
/ 05 апреля 2009

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

0 голосов
/ 31 марта 2010

вы можете попробовать интегрировать http://www.castleproject.org/ActiveRecord/ для удобства сохранения и обновления. Таким образом, вы можете просто сопоставить вашу модель с вашей базой данных, используя ORM (Object Relational Mapping). Сначала это займет немного больше работы, но в итоге вы получите простые команды, такие как product.Update () и product.Create ()

0 голосов
/ 28 марта 2009

Я считаю, что лучший способ сделать это - сохранить данные на стороне клиента. Это уменьшает ненужные обратные передачи и улучшает отзывчивость вашего приложения. Если вы действительно хотите сохранить его на сервере, вы можете использовать SessionState.

Если вы действительно хотите сохранить его во что-то вроде ViewState, вы можете воспользоваться решением, подобным этому: ASP.NET MVC - есть ли способ имитировать ViewState? . Тем не менее, я рекомендую против этого, так как это усложнит ситуацию. Выполнение этого на стороне клиента, вероятно, является наиболее элегантным способом, а хранение в SessionState - самым простым.

Помните, что вы всегда можете избежать шаблона MVC и использовать простую веб-форму для этой конкретной страницы (которая даст вам ViewState там, где вам это нужно): Дизайн действий контроллера ASP.NET MVC

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