MVC3 在 ajax 调用后重定向到新页面
本文关键字:重定向 新页面 调用 ajax MVC3 | 更新日期: 2023-09-27 18:31:05
在 ASP.NET MVC3 应用程序中我有一个基本控制器,我可以在其中覆盖某些功能。我从中得出所有的控制器。
在基本控制器中
我正在覆盖 OnAuthorization
事件处理程序以检查某些内容,然后返回 true 或 false。如果结果为真,我想重定向到主页
protected override void OnAuthorization(AuthorizationContext filterContext)
{
if(CheckValues())
{
RedirectToHomePage();
}
}
public ActionResult RedirectToHomePage()
{
return RedirectToAction("Index", "Home");
}
重定向适用于正常操作调用。
但是当有 AJAX CALL 时,主页正在页面的 DIV 内加载,而不是作为新页面加载。
有没有办法在发生 AJAX 调用时强制整个页面重新加载并重定向到主页?
我尝试使用Redirect("~/")
重定向到根URL,但同样的问题。 页面在 DIV 内加载,而不是在整个页面中加载。
希望我清楚。 非常感谢任何帮助
您需要在 AJAX 回调方法(javascript 客户端)而不是 C#(服务器端)中执行此操作。
你是如何做你的 AJAX 调用的?如果您使用的是jQuery AJAX,则可以使用成功时重定向页面。
$.ajax({
url: 'ajax/test.html',
success: function() {
window.location = "/";
}
});
var redirectSucURL = '@Url.Action("MethodName","ControllerName")';
成功后消息 成功:函数(结果){
if (true) {
window.location.href = redirectSucURL;
}