Comment dois-je appeler javascript sur l'hôte MVC page lorsque appel ajax en vue partielle est complète?

StackOverflow https://stackoverflow.com/questions/1135328

Question

J'ai une vue partielle Asp.net MVC qui est utilisé pour la recherche. Il fait un appel Ajax pour obtenir des résultats. Une fois que les résultats sont récupérés et affichés dans le volet des résultats, l'utilisateur peut cliquer sur un lien dans l'une des lignes de résultat pour sélectionner un des résultats de la recherche. Lorsque l'utilisateur clique sur un lien pour sélectionner un des résultats de la recherche, il fera une demande de poste Ajax pour mettre à jour un état. Une fois que cet appel Ajax est terminé, je dois rediriger vers une autre page, mais la page de destination dépend sur quelle page l'utilisateur est activée. Cette recherche vue partielle sera hébergé dans plusieurs pages et l'emplacement de redirection sera différent pour chacune des pages d'accueil. Je ne peux pas penser à une façon de faire qui est logique et ne pas coupler la vue partielle sur la page d'accueil (ou vice versa) de façon excessive.

Je suppose que l'autre option pourrait être de rediriger vers une autre page une fois la sélection appel Ajax est complète (ce qui est le but ultime), mais ne sera pas un résultat de redirection dans un me avalé? Appel Ajax

Ou est-il un moyen d'avoir un bouton ou un lien sur chaque ligne à la place qui provoque une demande de poste se produire qui pourrait renvoyer un résultat de redirection, la destination en fonction de la page d'appel?

Était-ce utile?

La solution

Je fini par utiliser une sorte de modèle TemplateMethod pour faire ce travail. Dans mon partielle j'ai ajouté la fonction JavaScript:

function onActionCompleted() {
    DoSomethingLocal();
    if (typeof DoSomethingInParentPage == 'function') {
        DoSomethingInParentPage();
    }
} 

vérifie si la fonction existe et est une fonction, et si elle est elle appelle la fonction. Pour que cela fonctionne, la page d'accueil peut choisir de mettre en œuvre la méthode DoSomethingInParentPage pour compléter une action lorsque l'action est terminée dans la partie. Je ne sais pas comment vérifier la correspondance des paramètres, mais au moins je reçois un appel lorsque la partie a terminé ses travaux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top