這篇文章主要是對注冊或者點擊按鈕時,怎麼防止用戶重復提交數據進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
asp.net實現點擊按鈕後設按鈕不可用並提交 代碼如下: <asp:Button ID="Button1" runat="server" Text="123456" OnClientClick="this.disabled=true;this.form.submit(); " UseSubmitBehavior= "False" onclick="Button1_Click" /> 客戶端加載的時候,重新將這個操作再啟動 代碼如下: <script language="javascript" type="text/javascript"> function controlButton(flag) { var btnObj = document.getElementById("Button1"); btnObj.disabled = flag; } </script> </head> <body onload="controlButton(false);"> 後台代碼: 代碼如下: protected void Button1_Click(object sender, EventArgs e) { Thread.Sleep(3000); Response.Write("123213<br>"); Response.Write("123213<br>"); Response.Write("123213<br>"); } 如果頁面按鈕很多,那麼可以采用另一種方式: 後台page_load代碼: 代碼如下: this.BtnSend.Attributes.Add("onclick", this.GetPostBackEventReference(this.BtnSend) + ";this.disabled=true; "); 前台button的代碼: 代碼如下: <asp:button id="BtnSend" runat="server" Width="80px" ForeColor="White" Text="發送" BackColor="#376091" BorderColor="#FFFFFF" Font-Bold="True" style="height: 24px" Font-Size="13px" BorderStyle="None" OnClick="BtnSend_Click" ></asp:button> 因為控件的this.disabled設置後,控件為禁用狀態,無法在回發調用後台的事件方法,所以必須用GetPostBackEventReference先進行回調後台的事件方法後,再調用disabled=true。 ASP.NET UseSubmitBehavior 屬性 定義和用法 UseSubmitBehavior 屬性規定按鈕控件使用客戶端浏覽器內建的提交功能,還是使用 ASP.NET 的 postback 機制。 該屬性被設置為 TRUE,如果控件使用浏覽器的提交機制。否則為 FALSE。默認值是 TRUE。 當設置為 FALSE 時,ASP.NET 會添加一段客戶端腳本來回傳該表單。 當 UseSubmitBehavior 屬性為 false 時,控件開發人員可以使用 GetPostBackEventReference 方法來返回 Button 的客戶端回發事件。GetPostBackEventReference 方法返回的字符串包含客戶端函數調用的文本,可以插入到客戶端事件處理程序中。 語法 <asp:Button UseSubmitBehavior="TRUE|FALSE" runat="server" /> 實例 下面的例子使用 ASP.NET 的 postback 機制: 代碼如下: <script runat="server"> Sub SubmitBtn(obj As Object, e As EventArgs) lblMsg.Text = "Submitted using the ASP.NET postback mechanism." End Sub </script> <form runat="server"> Click the button: <asp:button id="Button1" runat="server" Text="Submit" onclick="SubmitBtn" UseSubmitBehavior="FALSE" /> <br /> <asp:label id="lblMsg" runat="server"/> </form>