"Bitte warten" Bild auf jeder Benutzeraktion mit ASP.NET 3.5

In unserer ASP.NET 3.5-Anwendung möchten wir eine "Bitte warten."-Funktion implementieren: bei jeder Benutzeraktion (Knopfklick, Tab-Änderung, etc.) würden wir einen kleinen Spinner oben auf der Seite anzeigen (eigentlich in einem separaten Rahmen, den wir bereits verwenden).

Wir dachten an diese Lösung:

  1. "hijack" die _doPostBack, um jedes Ereignis abzufangen, das Spinnerbild anzuzeigen, dann die ursprüngliche _doPostBack-Funktion
  2. registrieren Sie einen Client-Skriptblock in der ASP.NET CodeBehind, um das Bild zu verbergen, wenn die Verarbeitung endet

Meine Frage ist: Glauben Sie, dass es eine gute Lösung ist? es ist sicherlich nicht sehr elegant, aber es semms ziemlich effizient. Gibt es eine andere Lösung/Muster, um so etwas zu tun?

PS : Wir verwenden keine JQuery und wir verwenden UpdatePanels

Antwort auf ""Bitte warten" Bild auf jeder Benutzeraktion mit ASP.NET 3.5 " 2 von antworten

Ich bin sicher, dass Sie Fortschrittsindikatoren an das UpdatePanel anhängen können. Entweder nach Ereignishandler oder nach Eigenschaft, ich kann mich nicht erinnern, welche, es ist eine Weile gewesen, ich verwende jQuery nicht UpdatePanels.

Reich

Da Sie UpdatePanels bereits verwenden, müssen Sie der Seite lediglich ein UpdateProgress control to the page and associate it to your UpdatePanel. Steuerelement hinzufügen und es Ihrem UpdatePanel zuordnen.

Dies wird automatisch angezeigt, wenn ein partielles Postback aus dem UpdatePanel initiiert wird, und wird ausgeblendet, sobald die Anforderung abgeschlossen ist.

Unten ist ein Beispiel, zeigen Sie einfach das img-Tag auf ein Spinnerbild. Sie können das Steuerelement an der Stelle positionieren, an der es angezeigt werden soll.

<asp:UpdateProgress runat="server" AssociatedUpdatePanelID="updatePanel1">
  <ProgressTemplate>
    <img src="./images/somespinner.gif" />Please wait...
  </ProgressTemplate>
</asp:UpdateProgress>