2009-05-17 4 views
1

На данный момент у меня есть jQuery сделать POST для контроллера, который возвращает ContentResult. Когда событие OnSuccess запускается из jQuery, он обновляет div с возвращенными данными. Теперь я хочу обновить еще один DIV с данными модели.Обновите два DIV на успех AJAX - объедините JavaScriptResult и PartialViewResult?

Я думаю, что у меня есть RenderPartial, сделайте сообщение и верните PartialResult, который будет обрабатывать этот новый div, но как насчет DIV, который я ранее заполнял?

Возможно объединение JavaScriptResult и PartialResult? Результат JavaScript обрабатывает первый DIV, о котором я упоминал, и PartialResult - новый DIV.

Благодаря

ответ

0

Вот как я это сделал.

Моим главным видом теперь является RenderPartial («PartialViewName», Model).

В верхней части частичного обзора я проверяю, не является ли ViewData ["AJAXReturn"] непустым. Если это не я вызываю другое частичное представление и передаю элемент ViewData ["AJAXReturn"], содержащий исходный ответ AJAX.

В моем методе действий с контроллером Я добавляю свое исходное сообщение ответа в ViewData ["AJAXReturn"], затем вызываю методы для обновления данных модели и возвращаю PartialView ("PartialViewName", UpdModel).

Теперь ViewData не имеет значения null, поэтому исходный DIV заполняется через ViewData и вызывает PartialView с новой моделью, которая отображает второй DIV. Это делается событием OnSuccess в столбце jQuery, который делает $ ('# containsdiv'). Html (responsefromPartialViewreturn);

Надеюсь, это поможет кому-то.

+0

Можете ли вы предоставить пример кода? – Picflight

0

Хотя это добавляет больше шума на трубе, я думаю, уборщик вариантом было бы сделать отдельный звонок от контроллера, чтобы захватить дополнительную PartialResult, предположительно в OnSuccess случае.

+0

Вы имеете в виду позвонить в Контроллер в событии OnSuccess? Как это будет выглядеть? Спасибо – Jon

Смежные вопросы