2009-05-08 9 views
7

J'ai une méthode d'action qui, selon certaines conditions, doit retourner une vue partielle via ajax, ou rediriger vers un autre contrôleur/action. La vue correcte est renvoyée mais elle la place dans les formulaires Ajax UpdateTargetId plutôt que de la rediriger vers une page entièrement nouvelle. Quelqu'un at-il une idée de comment je peux accomplir cela?Rediriger depuis un poste Ajax

Répondre

16

Je pense que je factoriser cette option pour utiliser jQuery plutôt que MVC Ajax. jQuery vous donnera beaucoup plus de contrôle sur ce que vous pouvez faire avec le résultat que vous obtenez. Si ce n'est pas une option, vous pouvez regarder le rappel OnComplete et voir quelles sont les données qui vous sont transmises et voir s'il y a un moyen d'obtenir l'URL à partir de laquelle vous voulez être redirigé.

Aussi, je semble me rappeler que si vous renvoyez un JavaScriptResult, il l'exécutera indépendamment de la façon dont l'AJAX a été appelé. Vous voudrez peut-être essayer quelque chose comme:

return JavaScript("window.top.location.href ='" + Url.Action("Action") + "';"); 
+0

Nous avons merveilleusement travaillé pour vous aider. –

1

Peut être ce link pourrait aider à résoudre votre problème et insérez votre javascript pour modifier la page en cours à un autre contrôleur, par exemple

window.location = 'controller/action'; 
Questions connexes