文章目錄
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>