So verhindern Sie doppeltes Senden mit jQuery in der ASP.NET-App mit UpdatePanels

Ich habe eine Intranet-ASP.NET-Anwendung, die manchmal nur langsam reagiert. Meine Anforderung besteht darin, ein doppeltes Senden zu verhindern und dem Benutzer im Idealfall eine Rückmeldung zu geben, dass das Formular bereits gesendet wurde.

Beispiele, die ich gefunden habe, zeigen, wie man eine Senden-Schaltfläche deaktiviert, aber das reicht nicht aus, da in meiner App das Senden passieren kann:

Über eine Senden-Schaltfläche.Von jedem Steuerelement mit AutoPostBack = true (das mit Javascript AFAIK übermittelt).In einem UpdatePanel kann eine der oben genannten Methoden verwendet werden. In diesem Fall wird der POST meines Wissens mit AJAX durchgeführt. Nach Abschluss des AJAX-Aufrufs muss die Aktivierung erneut durchgeführt werden.

Ich denke an etwas wie das Anzeigen einer Überlagerung / eines modalen Popups, möglicherweise mit einem animierten Fortschrittsbild, das beim Senden angezeigt wird. Und im Fall eines UpdatePanel, ausgeblendet, wenn der AJAX-Aufruf abgeschlossen ist.

Hat jemand ein Beispiel, das sich wie oben beschrieben problemlos in ASP.NET-Seiten integrieren lässt? Oder geben Sie an, an welchen Ereignissen ich teilnehmen müsste, um die Überlagerung anzuzeigen / auszublenden.

AKTUALISIEREN

@Aristos Antwort hat mich den größten Teil des Weges dorthin gebracht. Der Schlüsselteil besteht darin, mit PageRequestManager.endRequest den Fortschrittsdialog auszublenden, wenn ein AJAX-Aufruf abgeschlossen ist.

In einem Fall habe ich immer noch ein Problem: Wenn eine Senden-Schaltfläche zum Herunterladen von Dateien führt, ist kein Ereignis vorhanden, mit dem ich meinen Fortschrittsdialog verbergen kann.Diese Frage Hat eine Antwort, die den Trick machen kann, werde ich es ausprobieren.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage