2009-05-08 28 views
7

Tengo un método de acción que, dependiendo de algunas condiciones, debe devolver una vista parcial mediante ajax, o redirigir a otro Controlador/Acción. Se devuelve la vista correcta, pero la está colocando en los formularios Ajax UpdateTargetId en lugar de redirigir a una página completamente nueva. ¿Alguien tiene alguna idea de cómo puedo lograr esto?Redirigir desde una publicación de formulario Ajax

Respuesta

16

creo que habría refactorizar esto para usar jQuery en lugar de MVC Ajax. jQuery le dará mucho más control sobre lo que puede hacer con el resultado de que regrese. Si esa no es una opción, es posible que desee ver la devolución de llamada OnComplete y ver qué datos le pasan y ver si hay alguna forma de obtener la URL a la que desea redireccionar.

Además, parece recordar que si devuelve un JavaScriptResult lo ejecutará independientemente de cómo se invocó el AJAX. Es posible que desee probar algo como:

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

Funcionó maravillosamente gracias por su ayuda. –

1

Puede ser esto link podría ayudar a resolver su problema, e inserte su javascript para cambiar la página actual a otro controlador, por ejemplo

window.location = 'controller/action'; 
Cuestiones relacionadas