注冊或者點擊按鈕時,怎么防止用戶重復(fù)提交數(shù)據(jù)(實例講解)
asp.net實現(xiàn)點擊按鈕后設(shè)按鈕不可用并提交
<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="發(fā)送" BackColor="#376091" BorderColor="#FFFFFF" Font-Bold="True"
style="height: 24px" Font-Size="13px" BorderStyle="None" OnClick="BtnSend_Click" ></asp:button>
因為控件的this.disabled設(shè)置后,控件為禁用狀態(tài),無法在回發(fā)調(diào)用后臺的事件方法,所以必須用GetPostBackEventReference先進行回調(diào)后臺的事件方法后,再調(diào)用disabled=true。
ASP.NET UseSubmitBehavior 屬性
定義和用法
UseSubmitBehavior 屬性規(guī)定按鈕控件使用客戶端瀏覽器內(nèi)建的提交功能,還是使用 ASP.NET 的 postback 機制。
該屬性被設(shè)置為 TRUE,如果控件使用瀏覽器的提交機制。否則為 FALSE。默認值是 TRUE。
當設(shè)置為 FALSE 時,ASP.NET 會添加一段客戶端腳本來回傳該表單。
當 UseSubmitBehavior 屬性為 false 時,控件開發(fā)人員可以使用 GetPostBackEventReference 方法來返回 Button 的客戶端回發(fā)事件。GetPostBackEventReference 方法返回的字符串包含客戶端函數(shù)調(diào)用的文本,可以插入到客戶端事件處理程序中。
語法
<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>
相關(guān)文章
asp.net 類庫中使用ConfigurationManager.ConnectionStrings
類庫中使用ConfigurationManager.ConnectionStrings的步驟。2009-06-06
.net webapi接收xml格式數(shù)據(jù)的3種情況小結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于.net webapi接收xml格式數(shù)據(jù)的3種情況,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧2019-02-02
ASP.NET動態(tài)增加HTML元素的方法實例小結(jié)
這篇文章主要介紹了ASP.NET動態(tài)增加HTML元素的方法,結(jié)合實例形式總結(jié)分析了asp.net針對樣式、Meta、js等元素動態(tài)增加相關(guān)操作技巧,需要的朋友可以參考下2017-01-01
關(guān)于Asp.net頁面Page_Load被執(zhí)行兩次的問題分享
這篇文章介紹了關(guān)于Asp.net頁面Page_Load被執(zhí)行兩次的問題,有需要的朋友可以參考一下2013-09-09
讓GridView只顯示特定用戶的數(shù)據(jù)的方法
GridView 只顯示特定用戶的數(shù)據(jù)2008-10-10

