Los últimos tutoriales de desarrollo web
 

ASP.NET Formularios Web - Controles de servidor


Los controles de servidor son las etiquetas que puedan ser entendidos por el servidor.


Las limitaciones en ASP clásico

La lista fue copiada del capítulo anterior:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello w3ii!</h2>
<p> <%Response.Write(now())%> </p>
</center>
</body>
</html>

El código anterior ilustra una limitación en ASP clásico: el bloque de código tiene que ser colocado en la que desea que aparezca la salida.

Con ASP clásico es imposible separar el código ejecutable desde el propio HTML. Esto hace que la página difícil de leer, y difícil de mantener.


Controles de servidor - ASP.NET

ASP.NET ha resuelto el "spaghetti-code" problema descrito anteriormente con controles de servidor.

Los controles de servidor son las etiquetas que puedan ser entendidos por el servidor.

Hay tres tipos de controles de servidor:

  • Controles de servidor HTML - etiquetas HTML tradicionales
  • Controles de servidor Web - Nuevas etiquetas ASP.NET
  • Controles de servidor de validación - Para la validación de entrada

Controles de servidor HTML - ASP.NET

Los controles de servidor HTML son etiquetas HTML entendidos por el servidor.

elementos HTML en archivos de ASP.NET se, por defecto, tratados como texto. Para que estos elementos programables, añadir un atributo runat = "servidor" para el elemento HTML. Este atributo indica que el elemento se debe tratar como un control de servidor. La id se añade atributo para identificar el control de servidor. La referencia id puede ser usado para manipular el control de servidor en tiempo de ejecución.

Note: Todos los controles de servidor HTML debe estar dentro de un <form> etiqueta con el runat="server" atributo. El runat="server" atributo indica que la forma debe ser procesado en el servidor. También indica que los controles cerrados se puede acceder a los scripts del servidor.

En el siguiente ejemplo declaramos un control de servidor HtmlAnchor en un archivo .aspx. A continuación, manipulamos el HRef atributo del control HtmlAnchor en un controlador de eventos (an event handler is a subroutine that executes code for a given event) . El evento Load es uno de muchos eventos que ASP.NET entiende:

<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>

El código ejecutable en sí se ha movido fuera del HTML.


ASP.NET - Controles de servidor Web

Los controles de servidor Web ASP.NET son etiquetas especiales entendidos por el servidor.

Al igual que los controles de servidor HTML, controles de servidor Web también se crean en el servidor y que requieren un atributo runat = "servidor" para trabajar. Sin embargo, los controles de servidor Web no necesariamente se asignan a los elementos HTML existentes y que pueden representar elementos más complejos.

La sintaxis para crear un control de servidor Web es:

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

En el siguiente ejemplo declaramos un control de servidor Button en un archivo .aspx. Entonces se crea un controlador de eventos para el evento Click que cambia el texto en el botón:

<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 servidor de validación - ASP.NET

controles de servidor de validación se utilizan para validar la entrada de usuario. Si la entrada de usuario no pasa la validación, se mostrará un mensaje de error al usuario.

Cada control de validación lleva a cabo un tipo específico de validación (como la validación contra un valor específico o un intervalo de valores).

Por defecto, la validación de la página se realiza cuando se hace clic en un botón, ImageButton, o el control LinkButton. Puede evitar la validación cuando un control se hace clic en el botón estableciendo la propiedad CausesValidation a falso.

La sintaxis para crear un control de servidor de validación es:

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

En el siguiente ejemplo declaramos un control TextBox, un control Button y un control RangeValidator en un archivo .aspx. Si la validación falla, el texto "The value must be from 1 to 100!" se mostrará en el control RangeValidator:

Ejemplo

<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>

Ver ejemplo »