在MVC3中禁用应用程序的浏览器历史记录

时间:2012-02-01 02:01:23

标签: c# asp.net-mvc-3

虽然我完全清楚禁用后退按钮不是网站的理想特性,但对我来说这可能是最简单的解决方案。我有一个截止日期在工作中向我移动,如果更容易想知道在应用程序过程中是否有一种简单的方法来禁用历史记录的缓存。我完全打算建立回归的能力,但我现在没有时间,并希望避免可能出现的一些问题。

所以虽然我完全知道后退按钮是你的...但是如何让你的后退按钮回到你启动应用程序之前,因此需要重新启动(或者这个坏的最好情况)情况)。

我希望这是有道理的,我已经阅读了使用代码隐藏页面时的其他帖子,但没有看到任何与C#和MVC3相关的内容。所以请不要因为需要而激怒我......这是一个临时的乐队助手!

我理想的解决方案是,当他们点击后退按钮时,他们会在启动应用程序之前返回页面。这有望保持他们以前的历史,但保持应用程序不会破坏,直到我可以构建捕获和处理它的措施。

1 个答案:

答案 0 :(得分:1)

浏览器历史的终极目标是使用AJAX。这允许您在没有客户端“返回”选项的情况下向/从服务器发送/接收。您可以使用Microsoft为其中一个演示MVC应用程序采用的方法实现该方法,并允许每个视图在“ajax”参数中接收。找到后,它会返回页面的PartialView(再次减少标题),然后您可以使用它来填充公共内容元素(例如页面上的<body> or`元素)。

然而,这可以说是更多的工作来实现然后解决原始问题。我可能会跟踪它们处于哪个阶段(我提到会话,但是你提到使用数据库)然后根据该值允许或转发回“正确”路径。这为您提供了更多的灵活性,更容易实现(及时),并将所有验证保持在服务器级别。您可能的唯一真正问题是某些浏览器会缓存结果,因此您可能无法在服务器上重新获取,即使他们已经回过头来。如果是这种情况,您只能在页面AJAX中使用这个向导式部分,并且不会触及网站的其余部分,这将有效地迫使他们沿着正确的路径前进。