Embora os controles da Web e os controles HTML tenham muitas funções e aparência semelhantes, seus mecanismos internos de implementação são completamente diferentes.
Os controles da Web têm melhor desempenho do que os controles HTML
1. Eles também são bastante convenientes de usar. Aqui está um exemplo simples, como a geração de um botão:
O controle HTML coloca toda a enorme coleção de controles na página Qual função é usada, basta definir as propriedades, da seguinte forma:
<tipo de entrada=enviar/botão runat=servidor>
Isso ocupará uma quantidade considerável de recursos de controle.
Os controles da Web são integrados em funções únicas:
<asp:button id="btnOK" />
Isso pode economizar recursos ocupados por controles desnecessários.
2. Os controles da Web possuem uma função de retorno de chamada e podem usar ViewState para manter o estado do controle.
O controle HTML não pode. Quando a operação da página for clicada, seu estado será perdido.
Você pode fazer uma experiência como esta:
I. Crie dois arquivos respectivamente: a.html b.aspx
II. Adicione o RadioButton do controle HTML e um botão à página a.html.
Adicione o RadioButton do controle Web e um botão em b.aspx
III.a.html é executado diretamente clicando duas vezes no navegador e b.aspx é executado através do IIS.
IV. Na interface de execução a.html, selecione RadioButton e clique no botão Button. Você descobrirá que RadioButton irá.
Desmarque (perca seu estado), mas faça a mesma operação na página b.aspx, o RadioButton não será perdido pois o ViewState
O status é salvo para isso. Você pode clicar em "Exibir" -> "Arquivo de origem" no menu do navegador na interface de execução para abrir o arquivo de código HTML.
Encontre o ViewState criptografado, semelhante ao seguinte:
<input type="hidden" name="_VIEWSTATE" valor="dDw0ajfmafmjfzzmj4"/>
Na verdade, o princípio de implementação do ViewState é colocar algumas informações em um controle oculto, e as informações do ViewState geradas pelo asp.net
são armazenadas no cliente
Uma coisa a ser observada aqui é:
A função loopback só pode ser ativada quando o formato for um arquivo *.aspx e o controle possuir o atributo: "runat=server"
3. A maior diferença entre controles HTML e controles Web são seus diferentes métodos de processamento de eventos. Para controle de formulário HTML,
Quando um evento é gerado, o navegador trata dele. Mas para controles da Web, o evento é gerado apenas pelo navegador, mas o navegador não o processa. O cliente precisa enviar uma mensagem ao servidor para informar ao servidor para tratar o evento. Contudo, alguns acontecimentos
por exemplo:
Eventos como pressionar tecla/mover/mouse etc., esses eventos não estão disponíveis no Asp.net
eventos
são altamente imediatos, o servidor não pode processá-los com rapidez suficiente.) Neste momento, o controle HTML entra em ação, combinado com eventos HTML
para ajudar a concluir o processo.
Evento de controle HTML executado no navegador:
acionado quando clicado:
<INPUT type="button" value="Click Me" onclick="alert('Hi, Hello!');">
Acionado quando o mouse salta:
<INPUT type="button" value="Click Me" onmouseup="alert('Hi, Hello!');">
//Acionado ao passar o mouse sobre o controle
<INPUT type="button" value="Click Me" onmouseover="alert('Hi, Hello!');">
//Acionado quando o mouse se move acima do controle
<INPUT type="button" value="Click Me" onmousemove="alert('Hi, Hello!');">
//Acionado quando o controle é clicado duas vezes
<INPUT type="button" value="Click Me" ondblclick="alert('Hi, Hello!');">
//Quando o foco está no controle, ele dispara quando a tecla é pressionada
<INPUT type="button" value="Click Me" onkeypress="alert('Hi, Hello!');">
//Acionado quando a tecla é pressionada
<INPUT type="button" value="Clique em mim" onkeydown="alert('Olá, Olá!');">