Создание подчиненной формы с поддержкой ajax с помощью кнопки «Редактировать» - PullRequest
0 голосов
/ 22 ноября 2011

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

Я следовал руководству по этой ссылке

http://blog.janjonas.net/2011-07-24/asp_net-mvc_3-ajax-form-jquery-validate-supporting-unobtrusive-client-side-validation-and-server-side-validation [1]

Однако он основан на том, что поля редактирования формы всегда видны

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

Я изменил пример в [1]путем создания частичного представления по умолчанию с формой только с кнопкой отправки.При публикации данных с помощью AJAX появится форма редактирования.Похоже, что это работает, (мне нужно только скрыть ошибки проверки на первом POST - который не отправляет реальные данные).

Обновление: еще лучшим решением, вероятно, было бы исключить все формы встатическое представление, просто поместите одну кнопку / ссылку на класс css рядом с каждым элементом, и позвольте jquery получить соответствующее представление для выбранного элемента.Я не уверен, как это сделать с MVC 3 + jQuery.

Еще одно обновление: я обнаружил Ajax.Actionlink, который сделал именно то, что я хотел!

Ответы [ 3 ]

2 голосов
/ 23 ноября 2011

Я узнал, как это сделать, и все оказалось очень просто!

Я создал два частичных представления.

Один для рендеринга каждого статического элемента. Я использовал Ajax.ActionLink с InsertionMode «replace» и установил родителя элемента в качестве цели

Второй для рендеринга формы. Здесь я использовал Ajax.Beginform с похожими параметрами.

При успешно сохраненных данных я вернул статическое представление, при ошибке я снова вернул частичное представление с помощью формы ajax.

Я рад, что нашел MVC-ориентированный способ сделать это (хотя это интересно - создавать собственные вещи с помощью jQuery)

0 голосов
/ 22 ноября 2011

эта запись может помочь: код + видео + объяснение;)

http://ricardocovo.wordpress.com/2011/04/03/asp-mvc3-editing-records-with-jqueryui-dialogs-and-ajaxforms/

-covo

0 голосов
/ 22 ноября 2011

Похоже, вам нужен плагин для inline-редактирования для jQuery. Я бы попробовал jEditable . Я не использовал это сам, но, кажется, есть обширные документы.

...