在AJAX表单提交后重定向

lov*_*e33 3 ajax asp.net-mvc asp.net-mvc-4

使用MVC 4,我有一个部分视图形式,其中包含一个@Ajax.BeginForm.

表单按预期提交,结果在主视图中异步显示.

我想在我的控制器上有一个条件,如果某个参数在我的表单上为真,那么它会重定向到一个全新的页面(而不是在我的主视图中显示结果).

当我尝试时return RedirectToAction,整个视图显示在表单通常显示的div中,而不是忽略AJAX并重定向到一个全新的页面.

有谁知道我怎么能做到这一点?

Lin*_*Lin 7

你可以return JavaScript用来实现它.

public ActionResult MyAction()
{
    if (parameter)
    {
        return JavaScript("window.location = '" + Url.Action("Action", "Controller") + "'");
    }
    //Do something here
    return PartialView("ParitalView", Model);
}
Run Code Online (Sandbox Code Playgroud)