如何防止用户双击按钮导致的重复提交

没用Updatepanel的页面,这样使用:

btnSave.OnClientClick = "if(!Page_ClientValidate()){Page_BlockSubmit = false;return false;}" + this.GetPostBackEventReference(this.btnSave) + ";this.disabled=true;";

使用Updatepanel的页面:

ScriptManager.RegisterStartupScript(this.Page,
                this.Page.GetType(),
                Guid.NewGuid().ToString(),
                @"function BeginRequest(sender, args){var sLink = sender._postBackSettings.sourceElement;
if(sLink !=null &&  sLink.tagName=='A')sLink.disabled = true;$get('" + progress.ClientID + @"').style.display = 'block';}
                  function EndRequest(sender, args){var sLink = sender._postBackSettings.sourceElement;
if(sLink !=null &&  sLink.tagName=='A')sLink.disabled = false;$get('" + progress.ClientID + @"').style.display = 'none';}
                    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequest);
                    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest);"
                , true);

原文地址:https://www.cnblogs.com/Don/p/1791242.html