ASP.NET Button – Erst Javascript, dann C# Event

Es passiert leider ab und zu, dass man in einer Webanwendung Methoden hat, die etwas mehr Zeit zur Durchführung benötigen. Es gibt dann mehrere Möglichkeiten sicher zu stellen, dass der Benutzer den Prozess nicht unterbricht, bzw. auf die Fertigstellung der Methode wartet.

Um den Benutzer z.B. daran zu hindern ein weiteres mal auf einen Button zu klicken kann folgender Code-Snippet verwendet werden.

this.Button1.Attributes.Add("onclick", "javascript:" + this.Button1.ClientID +
".disabled=true;" + ClientScript.GetPostBackEventReference(this.Button1, string.Empty));

Nachdem die Javascriptfunktion ausgeführt wurde wird ein Postback von dem Button ausgeführt, als wenn er „ganz normal“ mit einem Server Side Event belegt wird.

Der Button im HTML-Markup sieht folgendermaßen aus:

<asp:Button ID="Button1" runat="server"
  Text="Button" OnClick="Button1_Click" />

Der Event, welcher vom Server ausgeführt wird sieht „ganz normal“ aus:

protected void Button1_Click(object sender, EventArgs e)
{
    // Insert Code here
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.