El Framework para páginas con
formularios Web de ASP.NET es un modelo de programación de
tiempo de ejecución con un lenguaje escalable y común, que puede
usarse en el servidor para generar dinámicamente páginas Web.
Pensado como una evolución lógica de ASP (ASP.NET proporciona
compatibilidad de sintaxis con las páginas existentes), el
Framework de páginas ASP.NET ha sido específicamente diseñado
para solucionar algunas deficiencias claver del modelo previo.
De forma particular, proporciona la habilidad de crear y
utilizar controles UI reutilizables que pueden encapsular una
funcionalidad común y, por tanto, reducir la cantidad de código
que el desarrollador tiene que escribir, la habilidad de los
desarrolladores para estructurar de forma clara las páginas en
un estilo odenado (no código "spaghetti"), y la habilidad de las
herramientas de desarrollo de proporcionar un potente soporte de
diseño WISIWIG para las páginas (el código ASP existente en
opaco para las herramientas). esta sección del tutorial
proporciona un breve resumen del código de alto nivel de algunas
de las características basicas de las páginas ASP.NET. Las
siguientes secciones tratarán más a fondo detalles más
específicos.
Escribiendo nuestra primera
página ASP.NET
La páginas ASP.NET son archivos
de texto con la extensión .aspx. Las páginas consisten en
código y marcas y son compiladas y ejecutadas dinámicamente
en el servidor para producir una traducción para el
navegador (o dispositivo) cliente. Cuando un navegador hace
una petición de un recurso .aspx, la rutina ASP.NET analiza
y compila el fichero a una clase del Framework .NET.
Una página ASP.NET puede ser
creada simplemente cambiándole la extensión de un fichero
HTML por la extensión .aspx (no hace falta modificar el
código). Por ejemplo, el siguiente ejemplo nos demuestra una
sencilla página HTML que recoge un nombre de usuario y una
preferencia de categoría y lugo realiza un postbak del
formulario a la página que lo origina cuando se hace clic
sobre el botón:
C# Intro1.aspx


Añadiendo Código
Simple a una Página
ASP.NET proporciona
compatibilidad de sintaxis con páginas ASP ya existentes.
Esto incluye el soporte para los bloques de renderizado de
código del tipo <% %> que se pueden metern entre el
contenido HTML en un fichero .aspx. Estos bloques se
ejecutan de forma descendente en el momento del
"renderizado".
El siguiente ejemplo demuestra como los bloques de
renderizamiento <% %> se pueden utilizar para hacer un bucle
sobre un bloque de código HTML (incrementando el tamaño de
la fuente en cada pasada):
C# Intro2.aspx


Los desarrolladores de páginas
ASP.NET pueden utilizar los bloques <% %> de código para
modificar dinámicamente la salida HTML tanto como pueden
hacerlo actualmento con ASP. Por ejemplo, el siguiente
ejemplo demuestra como los bloques <% %> de código pueden
usarse para interpretar los resultados que nos envía un
cliente
C# Intro3.aspx


Introducción a los Controles de
Servidor de ASP.NET
Además de código y marcas, las
páginas ASP.NET pueden contener controles de servidor,
que son objetos programables del lado del servidor que
típicamente representan un elemento para usuarios en la
página, como un textbox o una imagen. Los controles de
servidor participar en la ejecución de la página y producen
sus propias etiquetas para el navegador cliente. La
principal ventaja de los controles de servidor es que
permiten a los desarrolladores obtener un comportamiento
complejo a partir de componentes sencillos, reduciendo así
dramáticamente la cantidad de código necesaria para crear
una página Web dinámica.
Los controles de servidor se
declaran en un fichero .aspx mediante etiquetas propias o
etiquetas HTML intrínsecas que contienen el atributo
runat="server". Las etiquetas HTML intrínsecas son
manejadas con uno de los controles del "namespace"
System.Web.UI.HtmlControls. A cualquier etiqueta que no
corresponda a uno de los controles se le asigna el tipo
System.Web.UI.HtmlControls.HtmlGenericControl
El siguiente ejemplo utiliza
cuatro controles de servidor: <form runat=server>,
<asp:textbox runat=server>, <asp:dropdownlist runat=server>,
y <asp:button runat=server>. En tiempo de ejecución
estos controles de servidor generan de forma automática el
contenido HTML.
C# Intro4.aspx


Importante: Observar que
los controles de servidor mantienen de forma automática
entre viajes al servidor cuanquier valor insertado en el
lado del cliente. Este estado del control no se almacena en
el servidor (en lugar de eso se almacena en un campo <input
type="hidden" de formulario que se envía y devuelve en
las diferentes peticiones). Obsevar además que no es
necesario ningún script del lado del cliente.
Además de soportar controles
estádares de entrada HTML, ASP.NET permite a los
desarrolladores utilizar controles personalizados más ricos
en sus páginas. Por ejemplo, el siguiente ejemplo demuestra
como el control <asp:adrotator> se puede utilizar
para mostrar dinámicamente "ads" cambiantes en la página.
C# Intro5.aspx


Manejando
Eventos de Controles de Servidor
Cada control de Servidor de
ASP.NET es capaz de mostrar un modelo de objeto conteniendo
propiedades, métodos y eventos. Los desarrolladores de
ASP.NET utilizan este modelo de objeto para modificar de
forma limpia e interactuar con la página.
El siguiente ejemplo nos demuestra como un desarrollador de
páginas ASP.NET puede controlar el eventoOnClick del
control <asp:button runat=server> control para
manipular la propiedad Text del control <asp:label
runat=server>.
C# Intro6.aspx


Este ejemplo simple es equivalente en funcionalidad al
ejemplo "Intro3" mostrado anteriormente en esta sección. Sin
embargo, cabe observar la mayor limpieza y simplicidad del
código en la versión basada en controles de servidor. Así
como veremos posteriormente en el tutorial, el Framework de
páginas ASP.NET también muestra gran variedad de eventos a
nivel de página, que podemos controlar para escribir código
que se ejecute en un momento determinado durante el
procesado de la página. Ejemplos de estos eventos son
Page_Load y Page_Render.