2012-08-08 63 views
0

我正试图解决用户单击浏览器后退按钮时遇到的问题。asp.net中的浏览器后退按钮和会话状态

  1. 如果我不禁用缓存页面从缓存加载。问题是我有数据保存在会话对象中,并且此数据与页面显示不同步,因此当用户在该页面上发出进一步请求时,我收到错误。
  2. 如果我禁用缓存,我会在Chrome上获得“Confirm Form Resubmission”。发生这种情况是因为与asp.net页面交互使用post请求(为了发送视图状态),所以浏览器询问它是否应该重新提交表单。

这两种可能性对我来说都是有问题的。 处理这个问题的最佳方法是什么?

编辑:

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

回答

0

我结束了使用我发现的方法here

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