浏览器后退按钮和asp.net中的会话状态

时间:2012-08-08 05:32:40

标签: asp.net back-button browser-history

我正在尝试处理用户点击浏览器后退按钮时遇到的问题。

  1. 如果我不禁用缓存,则从缓存加载页面。问题是我在会话对象中保存了数据,并且此数据与页面显示不同步,因此当用户在该页面上发出进一步请求时会出现错误。
  2. 如果我禁用缓存,我会在Chrome上获得“Confirm Form Resubmission”。发生这种情况是因为与asp.net页面的交互使用了帖子请求(为了发送视图状态),因此浏览器会询问是否应该重新提交表单。
  3. 这两种可能性对我来说都是有问题的。 处理这个问题的最佳方法是什么?

      

    编辑:

    我写下了我在下面找到的答案。 在我看来,这是一个黑客。如果有人有更好的解决方案,我会很高兴看到它。

1 个答案:

答案 0 :(得分:0)

我最终使用了我找到here的方法。

我在服务器端写了一个值为“0”的cookie,表示该页面是从服务器加载的。 在javascript中我检查cookie值是否为“0”。 如果值为“0”,则将cookie值覆盖为“1”。 如果值为“1”,则重新加载页面。