【发布时间】:2017-06-14 17:37:14
【问题描述】:
我正在处理一个项目,为了不让每次页面更改都重新加载布局视图,我决定将我的视图更改为部分视图。为了在用户单击导航菜单中的菜单项之一时加载视图,我现在使用 jquery ajax,如下所示:-
$("ul.metismenu a:not(.subMenuParent)").unbind().click(function (e) {
e.preventDefault();
var url = $(this).attr("href");
window.history.pushState("", "", url);
$.ajax({
url: url,
dataType: 'html',
success: function (data) {
$('#page-content').html(data);
}
});
});
元素 page-content 位于布局视图中。它工作正常,但是我现在遇到的问题是,当我尝试直接访问视图时说我直接在浏览器中访问 /Dashboard,我将只获得部分视图,而没有布局页面。有人知道我该如何解决这个问题吗?提前感谢您的任何建议。
【问题讨论】:
-
只需在您的局部视图中添加
@{ Layout = "~/Views/Shared/_Layout.cshtml" }。 -
@mmushtaq 我已经尝试过了,但是布局被渲染了两次
-
你能分享控制器操作如何返回部分视图吗?
标签: jquery ajax asp.net-mvc asp.net-mvc-4 asp.net-mvc-5