Creare un metodo statico:
/// <summary>
/// Disable the button on submit. Remember to set up the validationGroup property if there is more than one form/submit
/// </summary>
/// <param name="objButton">The submit button object</param>
public static void disableSubmitButton(Button objButton)
{
objButton.CausesValidation = false;
string validationGroup = objButton.ValidationGroup;
if (string.IsNullOrEmpty(validationGroup))
objButton.Attributes.Add("onclick", "if (Page_ClientValidate()) {this.value=\"Processing...\";this.disabled=true;" + objButton.Page.ClientScript.GetPostBackEventReference(objButton, "").ToString() + "}");
else
objButton.Attributes.Add("onclick", "if (Page_ClientValidate(\"" + validationGroup + "\")) {this.value=\"Processing...\";this.disabled=true;" + objButton.Page.ClientScript.GetPostBackEventReference(objButton, "").ToString() + "}");
}
Creare un modulo e mettere un pulsante nel vostro modulo (Ricordate di impostare la proprietà ValidationGroup se non v'è più di una forma/inviare):
<asp:Button runat="server" ID="btnSubmit" OnClick="btnSubmit_Click" />
Chiamarlo nel caricamento della pagina:
CommonFunctions.disableSubmitButton(btnSubmit);
fonte
2011-02-15 04:21:37
vuoi che venga disabilitato sempre dopo il primo clic? – Samiksha
@Samiksha, ho bisogno di disabilitare dopo il modulo di invio perché se disattivo dopo il primo clic è disabilitato quando faccio clic per convalidare i dati con convalida ASP.NET. – eugeneK
Ho aggiornato la mia risposta, per favore controlla ora. cosa devi fare, prima di disabilitare il pulsante, devi controllare Page_ClientValidate() –