Methode 1:
Fügen Sie einfach OnClientClick="this.disabled=true;" UseSubmitBehavior="False" zum Code auf der Schaltflächenfront hinzu.
Methode 2:
protected void Page_Load(object sender, EventArgs e)
{
Button1.Attributes.Add("onclick", this.GetPostBackEventReference(Button1) + ";this. disabled=true;");
}
Hinweis: Schreiben Sie es nicht in if (!Page.IsPostBack), da sonst ein Skriptfehler auftritt.
Der Vorgang besteht darin, die Schaltfläche nach dem Klicken auf deaktiviert zu setzen, d. h. this.disabled=true.
Obwohl der Vorgang sehr einfach ist, gibt es einen kleinen Trick (den ich vorher nicht kannte), nämlich das UseSubmitBehavior-Attribut, das im Button-Steuerelement nicht häufig verwendet wird, um den Button nach dem Klicken auf die Seite zu deaktivieren (Formular) muss noch übermittelt werden, lediglich UseSubmitBehavior muss auf „false“ gesetzt werden, andernfalls wird die Seite (Formular) nicht übermittelt.
MSDNs Erklärung von UseSubmitBehavior lautet:
Verwenden Sie das UseSubmitBehavior-Attribut, um anzugeben, ob das Button-Steuerelement den Übermittlungsmechanismus des Client-Browsers oder den ASP.NET-Postback-Mechanismus verwendet. Standardmäßig ist der Wert dieser Eigenschaft „true“, wodurch das Button-Steuerelement den Übermittlungsmechanismus des Browsers verwendet. Wenn „false“ angegeben ist, fügt das ASP.NET-Seitenframework der Seite ein Clientskript hinzu, um das Formular an den Server zu senden.
Wenn die UseSubmitBehavior-Eigenschaft falsch ist, können Steuerelemententwickler die GetPostBackEventReference-Methode verwenden, um das Client-Postback-Ereignis von Button zurückzugeben. Die von der GetPostBackEventReference-Methode zurückgegebene Zeichenfolge enthält den Text des Client-Funktionsaufrufs und kann in einen Client-Ereignishandler eingefügt werden.
Zum Beispiel
Wenn UseSubmitBehavior false ist, sehen Sie im Ausgabe-HTML
__doPostBack('Issue1$doPublishButton','') wird von asp.net hinzugefügt. Wenn UseSubmitBehavior wahr ist, gibt es keinen solchen Satz und die Seite (das Formular) wird nicht übermittelt.