2010-08-06 79 views
3

我想知道是否有任何方式来检测当在ASP.net中点击导航器的后退按钮后重新加载页面时?如何在点击后退按钮时捕捉事件?

感谢

+1

为什么?你想做什么? – SLaks 2010-08-06 10:37:31

+0

也许只是检查用户不按下后退按钮提交冲突的形式或类似的东西。这可能归结为设计问题。 – 2010-08-06 10:43:10

回答

5

不幸的是,据我所知,应该没有故障安全的方式来做到这一点,因为它primarially取决于浏览器。有些浏览器会在您按下后重新加载内容,其他浏览器会缓存它并加载缓存。其他人将混合使用两者。

+0

有趣的是,知道浏览器对后退按钮不起作用。 显然: 当您按回=> Internet Explorer时,某些浏览器将在物理上重新加载内容。 他们将缓存它,并加载缓存=> Firefox。 – 2010-08-06 12:12:00

+0

归结为很多用户设置,以及浏览器如何处理某些元标记。 – 2010-08-06 12:19:14

+0

还涉及到历史堆栈允许多少存储空间。 FF给出了一个缓存版本(不同于网页缓存,但是当你离开页面时是状态的一个副本),但是,在FF中做了足够的工作(包括在其他选项卡和窗口中)并且该状态被刷新,必须重新加载。 – 2010-08-08 00:59:39

2

客户端脚本可以在这方面取得一些成功,但浏览器之间的差异是相当大的。

从概念上讲,这样做是没有意义的,因为你可能会根据这些知识做一些事情,这会改变“历史”。不要改变历史! :)

我发现让人想要做的最常见的一类问题是重新提交一个表单,然后回来。我通常会通过在表单中​​包含一个随机数并拒绝重复的随机数来解决这个问题。 UUID在这些情况下非常方便。

其他案例有其他解决方案。

相关问题