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