我有一个动作方法,根据某些条件需要通过ajax返回局部视图,或重定向到另一个Controller / Action。返回正确的视图,但它将它放在Ajax表单UpdateTargetId中,而不是重定向到一个全新的页面。任何人都知道如何才能做到这一点?
答案 0 :(得分:16)
我想我会重构这个以使用jQuery而不是MVC Ajax。 jQuery将为您提供更多的控制权,让您可以更好地控制自己可以使用的结果。如果这不是一个选项,您可能需要查看OnComplete回调并查看传递给它的数据,看看是否有办法获取您想要从中重定向到的URL。
另外,我似乎记得如果你返回一个JavaScriptResult,它将执行它,无论如何调用AJAX。你可能想尝试类似的东西:
return JavaScript( "window.top.location.href ='" + Url.Action( "Action" ) + "';" );
答案 1 :(得分:1)
可能这个link可以帮助您解决问题,并插入您的javascript以将当前页面更改为其他控制器,例如
window.location = 'controller/action';