C# 重定向出部分视图会留下嵌入的页面

C# 重定向出部分视图会留下嵌入的页面,c#,model-view-controller,C#,Model View Controller,我在C#中有一个局部视图,其中有一个from,其中包含一些AJAX刷新内容。但是,当我提交表单时,调用的函数以return RedirectToAction(“newaction”)结束,而不是将整个页面重定向到该页面,而是用新页面替换页面上的部分视图,这样我就有了两次页眉和页脚。为什么会发生这种情况?我如何修复它?在调用完成后,您需要在javascript中重定向 例如: $.ajax({ url: "/directory/find/",

我在C#中有一个局部视图,其中有一个from,其中包含一些AJAX刷新内容。但是,当我提交表单时,调用的函数以
return RedirectToAction(“newaction”)结束,而不是将整个页面重定向到该页面,而是用新页面替换页面上的部分视图,这样我就有了两次页眉和页脚。为什么会发生这种情况?我如何修复它?

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

例如:

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

由于它是通过ajax发布的,它将在ajax响应中返回action视图,因此您必须返回
JavascriptResult
,而不是像这样返回
RedirectToAction

return JavaScript("window.location='"+Url.Action("SomeAction","SomeController")+"'");
或者,如果要刷新页面,则:

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

它当然会以这种方式呈现,因为这是需要通过javascript重定向的ajax调用