每次刷新浏览器时,我的按钮的事件处理程序都会再次触发。你如何防止这一点?如何防止页面刷新后发生上次事件?
1
A
回答
2
一种方法可能是使用HTTPModule。您可以使用Javascript生成客户端GUID,并将其发布回您的服务器。然后,如果用户刷新,则比较该GUID并查看它是否已存在于您的服务器上。如果它存在,那么它是一个刷新,你不应该执行你的按钮事件处理程序的方法。在blog post中描述了此实现的一个示例。
另一个想法可能是在用户按下按钮后重定向页面(或将其重定向到自己)。这将给一个干净的回发和刷新它不应该再次提交事件。
1
我总是尝试使用PRG(Post-Redirect-Get)模式,即使它对Web Forms系统看起来有点不自然。
这基本上意味着得到一个Button_Click事件后,你做一个重定向,也许使用QueryString参数来指示结果页面显示什么。
如果您没有使用UpdatePanel进行部分页面更新,那么无论如何,您都不会“失去”那么多。 (如果您使用的是partials,刷新页面不一定会重新发布!)
相关问题
- 1. 如何在发送电子邮件后防止页面刷新?
- 2. 如何停止刷新页面上的事件刷新
- 3. 如何防止刷新页面时点击事件加载
- 4. 防止后刷新页面弹出
- 5. 防止ASP.NET页面刷新(F5)时触发上一个事件触发器
- 6. 如何防止页面刷新?
- 7. 如何防止JSP页面刷新
- 8. 如何防止页面被刷新?
- 9. 防止Javascript页面刷新
- 10. 防止HTML页面刷新
- 11. 防止按F5上的页面刷新
- 12. 如何防止页面刷新时再次显示jGrowl消息?
- 13. 防止onClick事件发生多次(jQuery)
- 14. AS3:防止事件发生两次?
- 15. 防止上次动作重复页面刷新
- 16. 如何防止后退按钮刷新HTTPS上的上一页?
- 17. 如何防止提交后Django页面刷新?
- 18. 如何防止页面刷新后秒表定时器重置
- 19. 如何在页面刷新后触发点击事件?
- 20. 如何在回发时防止页面刷新?
- 21. 防止按钮serverclick在每个页面上刷新刷新
- 22. 防止在刷新/ F5中发生OnBeforeUnload()事件
- 23. 如何防止在Android中刷卡时发生触摸事件?
- 24. 如何防止页面刷新页面在Asp.Net Gridview中更改
- 25. 如何防止事件发生?
- 26. 如何防止gwt app进入页面刷新后的登录页面?
- 27. 当后退按钮触发popState时,如何防止页面刷新?
- 28. html-javascript:无论何时发生事件,刷新页面
- 29. 如何防止两次发生Javascript单击事件?
- 30. 防止页面刷新阿贾克斯
如果您想重新提交数据,浏览器是否会提示您? – Marko 2010-10-09 00:35:23
我有时见过,但其他时间没有 – Prabhu 2010-10-09 00:37:16