1

您好,感谢您的宝贵时间。

我花了相当多的时间来寻找一个老问题的答案,即当用户向后导航、向前导航或刷新页面时防止重复发布。我已经看到了很多提出的解决方案,但都没有奏效。

建议的解决方案#1)许多人提供了指示浏览器不缓存页面的方法,包括我拥有的一些书籍。人们经常注意到这并不是一个很好的解决方案,因为用户可以在他们的浏览器中关闭此功能,导致它不响应请求。

建议的解决方案#2)在我的一本书中,它建议使用在 Viewstate 和 Session 中设置的时间戳可以检测过时的页面。此检测确实有效,但“如何处理”部分不起作用:重定向到同一页面,从而重新加载处于原始状态的页面。

我没有发布任何代码,因为我只是在很多版本中转了一圈。

这是我第一次访问这个网站,希望我能找到一些很棒的建议:)

再次感谢您的宝贵时间。

4

1 回答 1

1

我发现一个有效的解决方案是在页面上放置一个隐藏控件,其中包含 GUID 值。将 GUID 保存到您的数据库记录中,然后每次用户提交数据时,在处理数据之前确保 GUID 是唯一的。

于 2008-10-23T13:28:30.497 回答