Aunque los controles web y los controles HTML tienen muchas funciones similares y parecen similares, sus mecanismos de implementación internos son completamente diferentes.
Los controles web funcionan mejor que los controles HTML
1. También son bastante cómodos de usar. Aquí hay un ejemplo simple, como la generación de un botón:
El control HTML coloca toda la enorme colección de controles en la página. Qué función se utiliza, simplemente configure las propiedades de la siguiente manera:
<tipo de entrada=enviar/botón runat=servidor>
Esto ocupará una cantidad considerable de recursos de control.
Los controles web están integrados en funciones individuales:
<asp:id del botón="btnOK" />
Esto puede ahorrar recursos ocupados por controles innecesarios.
2. Los controles web tienen una función de devolución de llamada y pueden usar ViewState para mantener el estado del control.
El control HTML no puede. Cuando se hace clic en la operación de la página, se perderá su estado.
Puedes hacer un experimento como este:
I. Cree dos archivos respectivamente: a.html b.aspx
II. Agregue el RadioButton del control HTML y un botón a la página a.html.
Agrega el RadioButton del control Web y un botón en b.aspx
III.a.html se ejecuta directamente haciendo doble clic en el navegador y b.aspx se ejecuta a través de IIS.
IV. En la interfaz de ejecución de a.html, seleccione RadioButton y luego haga clic en el botón Botón. Encontrará que RadioButton.
Desmarque (pierda su estado), pero realice la misma operación en la página b.aspx, el RadioButton no se perderá porque ViewState
El estado se guarda. Puede hacer clic en "Ver" -> "Archivo fuente" en el menú del navegador en la interfaz de ejecución para abrir el archivo de código HTML.
Busque el ViewState cifrado, similar al siguiente:
<tipo de entrada="oculto" nombre="_VIEWSTATE" valor="dDw0ajfmafmjfzzmj4"/>
De hecho, el principio de implementación de ViewState es colocar cierta información en un control oculto y la información de ViewState generada por asp.net
se almacena en el cliente.
Una cosa a tener en cuenta aquí es:
La función loopback sólo se puede activar cuando el formato es un archivo *.aspx y el control tiene el atributo: "runat=server"
3. La mayor diferencia entre los controles HTML y los controles Web son sus diferentes métodos de procesamiento de eventos. Para el control de formulario HTML,
Cuando se genera un evento, el navegador lo maneja. Pero para los controles web, el evento solo lo genera el navegador, pero el navegador no lo procesará. El cliente debe enviar un mensaje al servidor para indicarle que maneje el evento. Sin embargo, algunos eventos
Por ejemplo:
Eventos como presionar teclas/mover/mouse, etc., estos eventos no están disponibles en Asp.net
(Debido a que estos eventos son muy inmediatos, el servidor no puede procesarlos con la suficiente rapidez). En este momento, entra en juego el control HTML, combinado con eventos HTML
para ayudar a completar el proceso.
Los siguientes son algunos eventos de uso común en HTML:
Evento de control HTML ejecutado en el navegador:
se activa al hacer clic en:
<INPUT type="button" value="Haz clic en mí" onclick="alert('Hola, ¡Hola!');">
Se activa cuando el mouse rebota:
<INPUT type="button" value="Haz clic en mí" onmouseup="alert('Hola, Hola!');">
//Se activa al pasar el cursor sobre el control
<INPUT type="button" value="Haz clic en mí" onmouseover="alert('Hola, Hola!');">
//Se activa cuando el mouse se mueve sobre el control
<INPUT type="button" value="Haz clic en mí" onmousemove="alert('Hola, Hola!');">
//Se activa cuando se hace doble clic en el control
<INPUT type="button" value="Haz clic en mí" ondblclick="alert('Hi, Hello!');">
//Cuando el foco está en el control, se activa cuando se presiona la tecla
<INPUT type="button" value="Haz clic en mí" onkeypress="alert('Hola, Hola!');">
//Se activa cuando se presiona la tecla
<INPUT tipo="botón" valor="Haz clic en mí" onkeydown="alert('¡Hola, hola!');">