/ / Comment changer la vue derrière le popup après un message ajax? - c #, .net, asp.net, jquery, asp.net-mvc

Comment changer la vue derrière la popup après un post ajax? - c #, .net, asp.net, jquery, asp.net-mvc

J'ai une lightbox "Modifier le profil" sur ma page,qui publie sur le contrôleur via jQuery ajax. Je gère la réponse à la fin de jquery au lieu de renvoyer une vue. Cependant, lorsque le profil est enregistré, je dois actualiser les valeurs sur la page affichant la fenêtre contextuelle. Comment pourrais-je y parvenir dans MVC2? Par exemple, si l'utilisateur change son nom et son avatar (dans la lightbox), après avoir enregistré le profil, je voudrais mettre à jour l'avatar et le nom partout où il apparaît sur la page.

Réponses:

2 pour la réponse № 1

Eh bien, ce que je ferais, c'est que votre contrôleur retourne un PartialViewResult, dont le résultat final est essentiellement HTML.

La vue partielle serait la fenêtre contextuelle elle-même, vous devez donc essentiellement appeler votre méthode Controller via AJAX, effectuer votre travail côté serveur, puis restituer la vue partielle au client.


0 pour la réponse № 2

Demandez à l'action que vous publiez via jQuery de retourner un success pour failure message. Si c'est un success, modifiez l'avatar / le nom / etc. sur la page en utilisant les valeurs déjà présentes dans les zones de texte (c'est-à-dire les valeurs que vous avez publiées sur le contrôleur). Si c'est un failure message, affichez les erreurs de validation.

Dans votre jQuery AJAX, tout peut être fait dans la fonction de rappel de la requête AJAX.


0 pour la réponse № 3

Prabhu - à la fois votre page de profil (c.-à-d. le div "principal" qu'il contient) et le div popup devraient être des vues partielles. lors de la publication de la fenêtre contextuelle sur le serveur, vous devez ré-interroger la vue partielle de la page principale et renvoyer le code HTML approprié, en ciblant le div "principal".

c'est certainement l'approche que je prends pour une tâche très similaire.