重定向到部分视图之外会留下嵌入页面

本文关键字:视图 重定向 | 更新日期: 2023-09-27 18:08:45

我在c#中有一个局部视图,其中有一些AJAX刷新的东西。但是,当我提交表单时,调用的函数以return RedirectToAction("newaction");结束,并且没有将整个页面重定向到该页面,而是将页面上的部分视图替换为新页面,因此我有两次页眉和页脚。为什么会发生这种情况,我该如何解决?

重定向到部分视图之外会留下嵌入页面

由于它是通过ajax发布的,它将在ajax响应中返回操作视图,因此您必须返回JavascriptResult而不是RedirectToAction,如下所示:

return JavaScript("window.location='"+Url.Action("SomeAction","SomeController")+"'");

或者如果你想刷新页面,那么:

return JavaScript("location.reload(true)");

调用完成后,您需要在javascript中重定向。

例如:

        $.ajax({
            url: "/directory/find/",
            type: "GET",
            dataType: "json",
            data: {  },
            success: function (data) {
                //The redirect upon success
                window.location = data.URL;
            }
        });