Javascript 启用/禁用返回按钮以查看MVC中以前的部分视图
我使用MVC4和EF开发了单页应用程序。我在单击各种菜单(在标题中可用)时加载不同的局部视图 现在,我禁用了浏览器返回按钮 下面是一个场景。。 用户单击Menu1并查看PartialView1,然后单击Menu2并查看PartialView2 现在,我想回到前面的视图(即:PartialView1)。浏览器的返回将不起作用 我尝试使用history.js文件并尝试了。它不起作用,因为它现在已经过时了。我怎样才能做到这一点 这是我的Ajax发布代码。。。 navigateElement:函数(actionUrl、ContaineReem){ 上面的will方法将检索局部视图,并在PageContainer(我根据用户操作生成不同局部视图的视口)中进行替换 现在,我如何在用户查看的部分视图之间向前/向后导航Javascript 启用/禁用返回按钮以查看MVC中以前的部分视图,javascript,jquery,asp.net-mvc,asp.net-mvc-4,history.js,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 4,History.js,我使用MVC4和EF开发了单页应用程序。我在单击各种菜单(在标题中可用)时加载不同的局部视图 现在,我禁用了浏览器返回按钮 下面是一个场景。。 用户单击Menu1并查看PartialView1,然后单击Menu2并查看PartialView2 现在,我想回到前面的视图(即:PartialView1)。浏览器的返回将不起作用 我尝试使用history.js文件并尝试了。它不起作用,因为它现在已经过时了。我怎样才能做到这一点 这是我的Ajax发布代码。。。 navigateElement:函数(ac
显然,在DB中存储访问的部分视图会在这段时间内导致性能下降,因为该应用程序的目标受众数量很大。就使用SPA和AJAX而言,我认为这是一种相当常见的情况。如果你能保证与HTML5的兼容性,那么我会说历史API将是最好的选择很好;一个快速的谷歌搜索应该为您提供好的示例代码 基本上,HTML5的历史API规范定义了通过编程将页面状态推送到浏览器历史堆栈中的方法。这样,每次使用AJAX更新视图时,您都会将该状态推送到浏览器历史中。然后,您可以重新启用浏览器的后台功能,它应该按照用户的意愿工作
在这些场景中,我倾向于认为“浏览器后退”功能是一个很好理解和期望的范例,因此禁用可能会让您的用户感到困惑。不过,这只是我的想法。您可以向您展示代码吗?将您最后的
partialview
存储在localStorage
中,单击“上一步”按钮只需从localStorage
获取值并更改partialview
因此,感谢Katstevens为我提供了正确的途径。我将尝试一下。如果您也能参考与此相关的任何内容或样品,我们将不胜感激。再次感谢!)
//load view without postback
$.ajax({
type: "POST",
url: actionUrl,
data: {},
cache: false,
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.status == "Denied") {
Error.accessDenied(data.message);
} else {
containerElem.html('');
containerElem.html(data.viewMarkup);
}
},
error: function (xhr, ajaxOptions, thrownError) {
console(thrownError);
_showErrorMessage();
}
});
},