Как: использовать MVC и Ajax для добавления/удаления строки в сетке для ввода данных + привязки модели?

Я новичок в Ajax, но думаю, что знаю, как разумно использовать привязку модели MVC +.

Я пытаюсь создать кнопку «Добавить» (или Ajax.ActionLink), чтобы добавить новую строку в мою сетку для ввода данных. Пример: подумайте о типичной системе ввода заказов с заказом (заголовок) и продуктом (элементы). My OrderViewModel содержит объект «Заказ», а объект «Заказ» содержит список коллекций.

Я планирую сделать это так, чтобы мой View отображал сетку в PartialView, а PartialView — это простой цикл for для создания тегов таблицы из списка. Я буду использовать биндер модели по умолчанию (для коллекций).

У кого-нибудь есть предложения о том, как это сделать?

Я уже понял, как это сделать с помощью jQuery, но я хочу (думаю, что хочу) попробовать и использовать Ajax, чтобы я мог добавить свою пользовательскую бизнес-логику (например, установить значения по умолчанию, переводы и т. д.), а не сделать это на стороне клиента.

Другими словами, я хочу сделать что-то похожее на то, что делает сетка Telerik с ее Ajax Editing с помощью ссылки/кнопок Add/Remove.

Советы и пример кода будут очень признательны.

Одна из моих проблем, и я не уверен, что иду по неправильному пути, заключается в том, что я не знаю, как вернуть модель обратно в действие контроллера из отправки Ajax. Когда я смотрю на код Telerik, кажется, что они хранят постоянные элементы в HttpContext.Session, и именно по этой причине я не хочу использовать их сетку.

Спасибо.


person Ray    schedule 15.02.2011    source источник


Ответы (1)


Они могут выбрать хранилище репозитория сеансов для демонстрационных целей. Если вы преобразуете логику из их класса SessionProductRepository для своей модели и реализуете для нее идентичные методы Update/Insert/Delete, вы, вероятно, получите то, что хотите.

person Dick Lampard    schedule 15.02.2011