注冊(cè)或者點(diǎn)擊按鈕時(shí),怎么防止用戶重復(fù)提交數(shù)據(jù)(實(shí)例講解)
asp.net實(shí)現(xiàn)點(diǎn)擊按鈕后設(shè)按鈕不可用并提交
<asp:Button ID="Button1" runat="server" Text="123456" OnClientClick="this.disabled=true;this.form.submit(); " UseSubmitBehavior= "False" onclick="Button1_Click" />
客戶端加載的時(shí)候,重新將這個(gè)操作再啟動(dòng)
<script language="javascript" type="text/javascript">
function controlButton(flag) {
var btnObj = document.getElementById("Button1");
btnObj.disabled = flag;
}
</script>
</head>
<body onload="controlButton(false);">
后臺(tái)代碼:
protected void Button1_Click(object sender, EventArgs e)
{
Thread.Sleep(3000);
Response.Write("123213<br>");
Response.Write("123213<br>");
Response.Write("123213<br>");
}
如果頁面按鈕很多,那么可以采用另一種方式:
后臺(tái)page_load代碼:
this.BtnSend.Attributes.Add("onclick", this.GetPostBackEventReference(this.BtnSend) + ";this.disabled=true; ");
前臺(tái)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>
因?yàn)榭丶膖his.disabled設(shè)置后,控件為禁用狀態(tài),無法在回發(fā)調(diào)用后臺(tái)的事件方法,所以必須用GetPostBackEventReference先進(jìn)行回調(diào)后臺(tái)的事件方法后,再調(diào)用disabled=true。
ASP.NET UseSubmitBehavior 屬性
定義和用法
UseSubmitBehavior 屬性規(guī)定按鈕控件使用客戶端瀏覽器內(nèi)建的提交功能,還是使用 ASP.NET 的 postback 機(jī)制。
該屬性被設(shè)置為 TRUE,如果控件使用瀏覽器的提交機(jī)制。否則為 FALSE。默認(rèn)值是 TRUE。
當(dāng)設(shè)置為 FALSE 時(shí),ASP.NET 會(huì)添加一段客戶端腳本來回傳該表單。
當(dāng) UseSubmitBehavior 屬性為 false 時(shí),控件開發(fā)人員可以使用 GetPostBackEventReference 方法來返回 Button 的客戶端回發(fā)事件。GetPostBackEventReference 方法返回的字符串包含客戶端函數(shù)調(diào)用的文本,可以插入到客戶端事件處理程序中。
語法
<asp:Button UseSubmitBehavior="TRUE|FALSE" runat="server" /> 實(shí)例
下面的例子使用 ASP.NET 的 postback 機(jī)制:
<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)文章
.net framework中引進(jìn)的var對(duì)象類型聲明
安裝了vs 2008之后,在后臺(tái)代碼中,resharper插件對(duì)后臺(tái)所有局部變量進(jìn)行提示建議,顯示需要采用use implicitly typed local variable declaration,通過代碼修改建議2010-12-12ASP.NET?Core中使用滑動(dòng)窗口限流的問題及場(chǎng)景分析
這篇文章主要介紹了ASP.NET?Core中使用滑動(dòng)窗口限流的問題,主要介紹服務(wù)限流場(chǎng)景中的應(yīng)用,如何使用滑動(dòng)窗口來解決這個(gè)問題,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-12-12.net core部署到windows服務(wù)上的完整步驟
這篇文章主要給大家介紹了關(guān)于.net core部署到windows服務(wù)上的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用.net core具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09獲取Repeter的Item和ItemIndex/CommandArgument實(shí)現(xiàn)思路與代碼
Repeater控件,放在ItemTemplate內(nèi)的銨鈕OnClick之后,獲取Repeater的Item,ItemIndex,CommandArgument,CommandName以及綁定的字段值附演示動(dòng)畫感興趣的朋友可以了解下2013-01-01ASP.NET Core程序發(fā)布到Linux生產(chǎn)環(huán)境詳解
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core程序發(fā)布到Linux生產(chǎn)環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04ASP.NET Core MVC解決控制器同名Action請(qǐng)求不明確的問題
這篇文章主要介紹了ASP.NET Core MVC解決控制器同名Action請(qǐng)求不明確的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Linux服務(wù)器下利用Docker部署.net Core項(xiàng)目的全過程
這篇文章主要給大家介紹了關(guān)于在Linux服務(wù)器下利用Docker部署.net Core項(xiàng)目的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用.net Core具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07asp.net GridView的刪除對(duì)話框的兩種方法
本來這兩種方法,我已經(jīng)掌握。但是沒有總結(jié),今天朋友突然問題,我竟然想不起來,找了半天,現(xiàn)在亡羊補(bǔ)牢,趕快寫在博客里。2009-04-04ASP.NET 導(dǎo)出到Excel時(shí)保留換行的代碼
由于Excel畢竟不是 HTML,它有自己的樣式標(biāo)準(zhǔn),在Excel 中,實(shí)現(xiàn)換行的方法是2008-12-12asp.net access添加返回自遞增id的實(shí)現(xiàn)方法
今天花了一點(diǎn)時(shí)間研究了這個(gè)問題,除此之外,還順帶研究了小孔子cms添加數(shù)據(jù)的過程,access添加返回自遞增id也是從小孔子cms中研究出來的。2008-08-08