註冊或者點擊按鈕時,防止使用者重複提交資料

來源:互聯網
上載者:User
文章目錄
  • 文法

 

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>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.