ASP.NET - Controle de servidor

Os controles de servidor são etiquetas compreendidas pelo servidor.

Limitações do Classic ASP

A seguir está listado o código copiado do capítulo anterior:

<html>
<body style="background-color:#e5eecc; text-align:center;">
<h2>Hello CodeW3C.com!</h2>
<p><%Response.Write(now())%></p>
</body>
</html>

O código acima reflete as limitações do Classic ASP: os blocos de código devem ser colocados nos locais onde é necessário a saída.

Através do Classic ASP, não podemos separar o código executável do HTML em si. Isso torna a página difícil de ler e de manter.

ASP.NET - Controle de servidor

Através dos controles de servidor, o ASP.NET resolveu o problema de "código espagueti" descrito acima.

Os controles de servidor são etiquetas compreendidas pelo servidor.

Existem três tipos de controles de servidor:

  • Controle de servidor HTML - rótulos HTML tradicionais
  • Controle de servidor web - novos rótulos ASP.NET
  • Controle de servidor de validação - para validação de entrada

ASP.NET - Controle de servidor HTML

Os controles de servidor HTML são etiquetas HTML compreendidas pelo servidor.

Os elementos HTML no ASP.NET são tratados como texto. Para tornar esses elementos programáveis, é necessário adicionar Atributo runat="server"Este atributo indica que este elemento é um controle de servidor. Além disso, é necessário adicionar o atributo id para identificar o controle de servidor. Este id pode ser usado para operar o controle de servidor em tempo de execução.

Observação:Todos os controles de servidor HTML devem estar dentro de uma tag <form> com a propriedade runat="server". A propriedade runat="server" indica que o formulário deve ser processado no servidor. Ela também indica que os controles incluídos podem ser acessados por scripts do servidor.

Neste exemplo, declaramos um controle de servidor HtmlAnchor no arquivo .aspx. Em seguida, operamos a propriedade HRef do HtmlAnchor em um manipulador de evento. O evento Page_Load é um tipo de evento compreendido pelo ASP.NET:

Observação:Um manipulador de evento (event handler) é uma subrotina que executa código para um evento específico.

<script runat="server">
Sub Page_Load
link1.HRef="http://www.codew3c.com"
Fim Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Visite CodeW3C.com!</a>
</form>
</body>
</html>

Dica:O código executável foi movido para fora do HTML.

ASP.NET - Controle de servidor da Web

Os controles de servidor da Web são tags ASP.NET especiais compreendidas pelo servidor.

Como os controles de servidor da Web são criados no servidor, eles também precisam da propriedade runat="server" para funcionar. No entanto, os controles de servidor da Web não precisam mapear nenhum elemento HTML existente, eles representam elementos mais complexos.

A sintaxe para criar um controle de servidor da Web é:

<asp:control_name id="some_id" runat="server" />

Neste exemplo, declaramos um controle de servidor de Button no arquivo .aspx. Em seguida, criamos um manipulador de evento para o evento Click, que pode modificar o texto no botão:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="Você clicou em mim!"
Fim Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Clique em mim!" runat="server" OnClick="submit"/>
</form>
</body>
</html>

ASP.NET - Controle de servidor de validação

O controle de servidor de validação é usado para validar a entrada do usuário. Se a entrada do usuário não passar pela validação, uma mensagem de erro será exibida para o usuário.

Cada controle de validação executa um tipo específico de validação (por exemplo, validação de um valor específico ou de um intervalo de valores).

Por padrão, ao clicar em Button, ImageButton ou LinkButton, a validação da página é executada. Você pode evitar que um controle de botão específico seja validado ao clicar nele, configurando o atributo CausesValidation como false.

A sintaxe para criar um controle de validação de servidor é:

<asp:control_name id="some_id" runat="server" />

Neste exemplo, declaramos um controle TextBox, um controle Button e um controle RangeValidator no arquivo .aspx. Se a validação falhar, o texto "O valor deve estar entre 1 e 100!" será exibido no controle RangeValidator:

<html>
<body>
<form runat="server">
<p>Insira um número entre 1 e 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Enviar" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="O valor deve estar entre 1 e 100!"
runat="server" />
</p>
</form>
</body>
</html>

Mostrar este exemplo