Редактирование иерархических данных в ASP.NET MVC 2 - PullRequest
2 голосов
/ 19 апреля 2011

Кто-нибудь может подсказать мне несколько хороших ресурсов, которые могут помочь мне понять, как лучше всего работать с иерархическими данными в ASP.NET MVC 2?

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

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

Если бы я делал это в стандартном ASP.NET, я бы смотрел на использование дочерних окон и т.п. для отображения страниц редактирования и сохранения экземпляра объекта, редактируемого в сеансе, что само по себе плохо , Но мне сказали, что мы используем MVC, поскольку стандартизируем наши платформы (но пока не переходим на MVC 3).

По сути, мне нужно это приложение для отображения свойств моего корня, который включает в себя дочернюю коллекцию объектов. Пользовательский интерфейс должен позволять пользователю добавлять новые элементы в коллекцию, удалять существующие элементы и «открывать» элемент для редактирования. Эти дочерние элементы также содержат собственный список внуков, который также можно редактировать. Все это должно происходить без обходов по проводам для сохранения данных (это распределенная архитектура со всем доступом к данным за интерфейсом службы WCF).

Все примеры на www.asp.net сохраняют данные каждый раз, когда вносится одно изменение, то есть каждый постбэк. Но это потребовало бы значительных изменений схемы и дополнительного кода, чтобы иметь дело с временными объектами по сравнению с зафиксированными объектами плюс накладные расходы на вызовы службы каждый раз. Я ищу лучшее решение.

1 Ответ

0 голосов
/ 19 апреля 2011

Рассматривали ли вы какие-либо клиентские библиотеки, такие как Knockout.JS?Я обнаружил, что он отлично справляется с манипулированием коллекциями и публикует окончательную версию в формате JSON. Здесь - пример того, что вы можете с ним сделать. Здесь - статья о том, как интегрировать ее с MVC 2. Это моя самая любимая библиотека JS.

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