controles de servidor são tags que são entendidos pelo servidor.
Limitações no Classic ASP
A lista abaixo foi copiada do capítulo anterior:
<html>
<body bgcolor="yellow">
<center>
<h2>Hello w3ii!</h2>
<p> <%Response.Write(now())%> </p>
</center>
</body>
</html>
O código acima ilustra uma limitação no ASP clássico: O bloco de código deve ser colocado onde você deseja que a saída para aparecer.
Com ASP clássico é impossível separar o código executável a partir do próprio HTML. Isso torna a página difícil de ler e difícil de manter.
Controles do Servidor - ASP.NET
ASP.NET resolveu o "spaghetti-code" problema descrito acima com controles de servidor.
controles de servidor são tags que são entendidos pelo servidor.
Existem três tipos de controles de servidor:
- Controles de servidor HTML - tags HTML tradicionais
- Controles de Servidor Web - Novas marcas ASP.NET
- Controles de servidor de validação - para validação de entrada
Controles de servidor HTML - ASP.NET
controles de servidor HTML são tags HTML compreendidas pelo servidor.
elementos HTML em arquivos ASP.NET são, por padrão, tratado como texto. Para tornar estes elementos programáveis, adicione um atributo runat = "server" para o elemento HTML. Este atributo indica que o elemento deve ser tratado como um controle de servidor. O id atributo é adicionado para identificar o controle de servidor. A referência ID pode ser usado para manipular o controle de servidor em tempo de execução.
Note: Todos os controles de servidor HTML deve estar dentro de um <form> tag com o runat="server" atributo. O runat="server" atributo indica que o formulário deve ser processado no servidor. Ele também indica que os controles fechados podem ser acessados por scripts do servidor.
No exemplo a seguir declaramos um controle de servidor HtmlAnchor em um arquivo .aspx. Em seguida, manipular o HRef atributo do controle HtmlAnchor em um manipulador de eventos (an event handler is a subroutine that executes code for a given event) . O evento Page_Load é um dos muitos eventos que ASP.NET compreende:
<script runat="server">
Sub Page_Load
link1.HRef="http://www.w3ii.com"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Visit w3ii!</a>
</form>
</body>
</html>
O próprio código executável foi movido fora do HTML.
ASP.NET - Controles de Servidor Web
controles de servidor Web são tags ASP.NET especiais compreendidas pelo servidor.
Como controles de servidor HTML, controles de servidor Web também são criados no servidor e eles exigem um atributo runat = "server" para o trabalho. No entanto, controles de servidor Web não necessariamente mapeados para quaisquer elementos HTML existentes e podem representar elementos mais complexos.
A sintaxe para a criação de um controle de servidor Web é:
<asp:control_name id="some_id" runat="server" />
No exemplo a seguir declaramos um controle de servidor Button em um arquivo .aspx. Então vamos criar um manipulador de eventos para o evento Click, que altera o texto no botão:
<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You clicked me!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Click me!"
runat="server" OnClick="submit"/>
</form>
</body>
</html>
Controles de validação do servidor - ASP.NET
controles de servidor de validação são utilizados para validar de entrada do usuário. Se o entrada do usuário não passar na validação, ele irá exibir uma mensagem de erro para o usuário.
Cada controlo validação executa um tipo específico de validação (como validação de encontro a um valor específico, ou uma gama de valores).
Por padrão, a validação de página é executada quando um Button, ImageButton, ou LinkButton controle é clicado. Você pode impedir a validação quando um controle botão é clicado, definindo a propriedade CausesValidation como falsa.
A sintaxe para a criação de um controle de servidor de validação é:
<asp:control_name id="some_id" runat="server" />
No exemplo a seguir declaramos um controle TextBox, um controle Button, e um controle RangeValidator em um arquivo .aspx. Se a validação falhar, o texto "The value must be from 1 to 100!" será exibido no controle RangeValidator:
Exemplo
<html>
<body>
<form runat="server">
<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="The value must be from 1 to 100!"
runat="server" />
</p>
</form>
</body>
</html>
Mostrar exemplo »