2009-05-17 5 views
1

En ce moment j'ai un jQuery faire un POST à ​​un contrôleur qui renvoie un ContentResult. Lorsque l'événement OnSuccess se déclenche à partir de jQuery, il met à jour un div avec les données renvoyées. Je veux maintenant mettre à jour un autre DIV avec les données du modèle.Mise à jour de deux DIV sur le succès AJAX - Combiner JavaScriptResult & PartialViewResult?

Je pense avoir un RenderPartial à mon avis, faire le post et retourner un PartialResult qui gérera cette nouvelle div mais qu'en est-il de la DIV que je remplissais auparavant?

combine un JavaScriptResult et un PartialResult possible? Le résultat JavaScript gère la première DIV que j'ai mentionnée et le résultat partiel le nouveau DIV.

Merci

Répondre

0

Voilà comment je l'ai fait.

Mon point de vue principal fait maintenant un RenderPartial ("PartialViewName", modèle).

En haut de la vue partielle si je vérifie ViewData [ « AJAXReturn »] est non nulle. Si ce n'est pas le cas, j'appelle une autre vue partielle et transmets l'élément ViewData ["AJAXReturn"] qui contient la réponse AJAX d'origine.

Dans ma méthode d'action Contrôleur, j'ajoute mon message de réponse original à ViewData ["AJAXReturn"], j'appelle ensuite des méthodes pour mettre à jour mes données de modèle et retourner PartialView ("PartialViewName", UpdatedModel).

Maintenant, le ViewData est non nul de sorte que la DIV d'origine est rempli par ViewData et appelant PartialView avec le nouveau modèle rend la deuxième DIV. Ceci est fait par l'événement OnSuccess dans la publication jQuery qui fait $ ('# containdiv'). Html (responsefromPartialViewreturn);

Espérons que cela aide quelqu'un.

+0

Pouvez-vous fournir un exemple de code? – Picflight

0

Bien qu'il ajoute plus de bruit sur le tuyau, je pense une option plus propre serait de faire un appel séparé de votre contrôleur pour saisir le PartialResult supplémentaire, probablement en cas OnSuccess.

+0

Voulez-vous dire passer un appel au contrôleur dans l'événement OnSuccess? Comment cela ressemblerait-il? Merci – Jon

Questions connexes