asp.net 重複提交

<asp:Button ID="btnSumbit" runat="server"  Text="提交" UseSubmitBehavior="false" OnClientClick="this.value='正在提交';this.disabled=true;"   onclick="btnSumbit_Click" /> 

asp.net 防止頁面刷新或後退引發重複提交前端

 項目中常常遇到刷新後重復的向數據庫增長一條相同的記錄,形成數據重複,如何規避這些問題呢?下面咱們就一塊兒討論一下在asp.net怎樣防止頁面刷新或後退引發重複提交數據的問題:數據庫

  其實asp.net防止刷新是asp.net開發中常常遇到的問題。一般有多種方法來實現:(下面只是我的總結的一些方法)不全,也很但願朋友們能多多補充。謝謝。瀏覽器

  1:請求轉發(即在數據提交操做後當即轉跳到其餘頁面,防止頁面刷新引發回發操做)。緩存

  2:前端使用腳本禁用表單提交按鈕。asp.net

  3:不保存緩存 Response.Cache.SetNoStore(); (即提交後表單上的數據不會被瀏覽器的緩存保存,若是此時再遇到刷新或者後退請求時, 就會顯示「網頁已過時」,數據也就不會重複提交了,這就起到了阻止刷新重複提交的效果。this

  4:使用防僞標記,在表單提交後清空標記。spa

  5:MSDN的一種解決方案: 它是經過從新定義 System.Web.UI.Page 類來實現加載頁面時,是「刷新」、「後退」請求,仍是正常請求,其餘的頁面則繼承了自定義的這 個Page類.net

  (參見:http://msdn.microsoft.com/zh-cn/library/ms379557(VS.80).aspx )code

   固然還有其餘的解決方案,但願朋友們提出本身的解決方案。謝謝。server

相關文章
相關標籤/搜索