Obwohl Web-Steuerelemente und HTML-Steuerelemente viele ähnliche Funktionen haben und ähnlich aussehen, sind ihre internen Implementierungsmechanismen völlig unterschiedlich.
Web-Steuerelemente bieten eine bessere Leistung als HTML-Steuerelemente
1. Sie sind auch recht praktisch zu verwenden. Hier ist ein einfaches Beispiel, z. B. die Generierung von Buttons:
Das HTML-Steuerelement fügt die gesamte große Sammlung von Steuerelementen in die Seite ein. Welche Funktion verwendet wird, legen Sie einfach die Eigenschaften wie folgt fest:
<Eingabetyp=Senden/Schaltfläche runat=Server>
Dadurch werden erhebliche Steuerressourcen beansprucht.
Web-Steuerelemente werden in einzelne Funktionen integriert:
<asp:button id="btnOK" />
Dadurch können Ressourcen eingespart werden, die durch unnötige Steuerelemente belegt werden.
2. Websteuerelemente verfügen über eine Rückruffunktion und können ViewState verwenden, um den Status des Steuerelements beizubehalten.
Das HTML-Steuerelement kann nicht verwendet werden, wenn auf den Seitenvorgang geklickt wird.
Sie können ein Experiment wie dieses durchführen:
I. Erstellen Sie jeweils zwei Dateien: a.html und b.aspx
II. Fügen Sie den RadioButton des HTML-Steuerelements und eine Schaltfläche zur a.html-Seite hinzu.
Fügen Sie den RadioButton des Websteuerelements und eine Schaltfläche in b.aspx hinzu
III.a.html wird direkt durch Doppelklicken im Browser ausgeführt, und b.aspx wird über IIS ausgeführt.
IV. Wählen Sie in der a.html-Laufoberfläche RadioButton aus und klicken Sie dann auf die Schaltfläche
Deaktivieren Sie das Kontrollkästchen (verlieren Sie seinen Status), aber führen Sie den gleichen Vorgang auf der b.aspx-Seite aus. Der RadioButton geht aufgrund des ViewState nicht verloren
Der Status wird dafür gespeichert. Sie können im Browsermenü der Ausführungsoberfläche auf „Ansicht“ -> „Quelldatei“ klicken, um die HTML-Codedatei zu öffnen.
Suchen Sie den verschlüsselten ViewState, ähnlich dem folgenden:
<input type="hidden" name="_VIEWSTATE" value="dDw0ajfmafmjfzzmj4"/>
Tatsächlich besteht das Implementierungsprinzip von ViewState darin, einige Informationen in einem versteckten Steuerelement abzulegen und die von asp.net generierten ViewState-Informationen
auf dem Client zu speichern
Hier ist Folgendes zu beachten:
Die Loopback-Funktion kann nur aktiviert werden, wenn das Format eine *.aspx-Datei ist und das Steuerelement das Attribut „runat=server“ hat.
3. Der größte Unterschied zwischen HTML-Steuerelementen und Web-Steuerelementen besteht in den unterschiedlichen Methoden der Ereignisverarbeitung. Für die HTML-Formularsteuerung:
Wenn ein Ereignis ausgelöst wird, wird es vom Browser verarbeitet. Bei Web-Steuerelementen wird das Ereignis jedoch nur vom Browser generiert, der Browser verarbeitet es jedoch nicht. Der Client muss eine Nachricht an den Server senden, um ihn anzuweisen, das Ereignis zu verarbeiten. Allerdings einige Ereignisse
Zum Beispiel:
Ereignisse wie Tastendruck/Bewegung/Maus usw. sind in Asp.net nicht verfügbar
(Da diese Ereignisse sehr unmittelbar sind, kann der Server sie nicht schnell genug verarbeiten.) Zu diesem Zeitpunkt kommt die HTML-Steuerung ins Spiel, kombiniert mit HTML-Ereignissen,
um den Prozess abzuschließen.
Im Folgenden sind einige häufig verwendete Ereignisse in HTML aufgeführt:
Im Browser ausgeführtes HTML-Steuerereignis:
Wird beim Klicken ausgelöst:
<INPUT type="button" value="Click Me" onclick="alert('Hi, Hello!');">
Wird ausgelöst, wenn die Maus springt:
<INPUT type="button" value="Click Me" onmouseup="alert('Hi, Hello!');">
//Wird ausgelöst, wenn man mit der Maus über das Steuerelement fährt
<INPUT type="button" value="Click Me" onmouseover="alert('Hi, Hello!');">
//Wird ausgelöst, wenn sich die Maus über das Steuerelement bewegt
<INPUT type="button" value="Click Me" onmousemove="alert('Hi, Hello!');">
//Wird ausgelöst, wenn auf das Steuerelement doppelgeklickt wird
<INPUT type="button" value="Click Me" ondblclick="alert('Hi, Hello!');">
//Wenn der Fokus auf dem Steuerelement liegt, wird es ausgelöst, wenn die Taste gedrückt wird
<INPUT type="button" value="Click Me" onkeypress="alert('Hi, Hello!');">
//Wird ausgelöst, wenn die Taste gedrückt wird
<INPUT type="button" value="Click Me" onkeydown="alert('Hi, Hello!');">