每次刷新瀏覽器時,我的按鈕的事件處理程序都會再次觸發。你如何防止這一點?如何防止頁面刷新後發生上次事件?
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