EinführungEs
ist oft nützlich, während des Formularübermittlungsprozesses einer Webanwendung „Bitte warten“-Meldungen oder animierte GIF-Bilder anzuzeigen, insbesondere wenn der Übermittlungsprozess lange dauert. Ich habe kürzlich ein Programm zur Einreichung von Umfragen entwickelt, bei dem interne Benutzer Excel-Tabellen über eine Webseite hochladen. Das Programm fügt die hochgeladenen Tabellendaten in die Datenbank ein. Dieser Vorgang dauert nur wenige Sekunden, aber selbst wenn er nur wenige Sekunden dauert, handelt es sich aus Sicht der Webseite um einen sehr offensichtlichen Wartevorgang. Während des Testens des Programms klickten einige Benutzer wiederholt auf die Schaltfläche zum Hochladen. Daher ist es sinnvoll, eine visuelle Nachricht bereitzustellen, um den Leuten mitzuteilen, dass der Upload läuft. Und blenden Sie gleichzeitig den Upload-Button aus, um Mehrfachklicks zu verhindern. Das hier vorgestellte Steuerelement ist eine Unterklasse des Button-Steuerelements, das zeigt, wie clientseitiger JavaScript-Code in ein ASP.NET-Serversteuerelement gekapselt wird, um praktische Funktionen bereitzustellen.
Obwohl es viele Javascript-Beispiele gibt, um dies zu erreichen, habe ich einige Probleme festgestellt, als ich versuchte, diese Funktionen in ASP.NET-Steuerelemente zu kapseln. Ich habe zunächst versucht, die Schaltfläche über den Javascript-OnClick-Handler ungültig zu machen und durch anderen Text zu ersetzen. Aber ich fand es sehr knifflig, da dadurch die Funktion des Click-Events auf der Seite des asp.net-Servers beeinträchtigt wird. Was schließlich funktionierte und eine gute Unterstützung für verschiedene Browser bot, war die Darstellung der Schaltfläche in einem div-Tag. Das Div kann ausgeblendet werden und dem Klickereignis von asp.net nicht im Weg stehen.
Verwenden des Steuerelements
Als Ableitung des normalen Tastensteuerelements sind die Funktionen von PleaseWaitButton im Wesentlichen gleich. Es verwendet drei zusätzliche Eigenschaften, um die Anzeige von „Bitte warten“-Nachrichten oder Bildern zu verwalten, wenn auf die Schaltfläche geklickt wird.
PleaseWaitText
Dies ist die clientseitige Textnachricht, die angezeigt wird und, falls vorhanden, die Schaltfläche ersetzt, wenn auf die Schaltfläche geklickt wird.
PleaseWaitImage
Dies ist die Bilddatei (z. B. ein animiertes GIF-Bild), die angezeigt wird und, falls vorhanden, die Schaltfläche ersetzt, wenn darauf geklickt wird. Dieses Attribut wird zum src-Attribut im -Tag.
PleaseWaitType
Einer der PleaseWaitTypeEnum-Enumerationswerte: TextOnly, ImageOnly, TextThenImage oder ImageThenText. Es steuert das Layout von Nachrichten und Bildern.
Unten finden Sie eine Beispiel-.aspx-Datei, die einen PleastWaitButton mit den Sätzen „PleaseWaitText“ und „PleaseWaitImage“ demonstriert.
<%@ Seitensprache="C#" %>
<%@ Register TagPrefix="cc1" Namespace="JavaScriptControls"
Assembly="PleaseWaitButton" %>