Compartir a través de


Introducción a páginas Web de ASP.NET

Actualización: noviembre 2007

Las páginas Web de ASP.NET le permiten crear contenido dinámico para su sitio Web. Con una página HTML estática (archivo .htm o .html), el servidor cumple una solicitud Web leyendo el archivo y enviándolo tal como está al explorador. Al contrario, cuando alguien solicita una página Web de ASP.NET (archivo .aspx), la página se ejecuta como un programa en el servidor Web. Mientras la página se está ejecutando, puede realizar cualquier tarea que requiera su sitio Web, incluido el cálculo de valores, la lectura o escritura de información de base de datos o la llamada a otros programas. Como su resultado, la página genera dinámicamente marcado (elementos en HTML u otro lenguaje de marcado) y envía este resultado dinámico al explorador.

Este tema proporciona información general sobre las características fundamentales de funcionamiento de las páginas Web de ASP.NET en aplicaciones Web.

Devoluciones de datos y recorridos de ida y vuelta

Las páginas ASP.NET se ejecutan como código en el servidor. Por consiguiente, para procesar la página, ésta se configura para que se envíe al servidor cuando los usuarios hagan clic en botones (u opcionalmente, cuando los usuarios activen casillas o interactúen con otros controles de la página). Una y otra vez la la página se envía a sí misma para poder ejecutar su código de servidor y después representar una nueva versión de sí misma al usuario.

El ciclo de procesamiento de una página Web de ASP.NET es este:

  1. El usuario solicita la página. (La página se solicita utilizando un método GET de HTTP.) La página se ejecuta por primera vez, realizando el procesamiento preliminar si la ha programado para hacerlo.

  2. La página representa el marcado en el explorador dinámicamente y lo que el usuario ve es una página Web similar a cualquier otra.

  3. El usuario escribe la información o la selecciona entre las opciones disponibles y, a continuación, hace clic en un botón. (Si los usuarios hacen clic en un vínculo en lugar de en un botón, la página podría simplemente navegar hasta otra página, sin que tenga lugar ningún procesamiento más en la primera página).

  4. La página se manda al servidor Web. (El explorador ejecuta un método POST de HTTP, que en ASP.NET se denomina devolución de datos.) Específicamente, la página se devuelve datos a sí misma. Por ejemplo, si el usuario está trabajando con la página Default.aspx y hace clic en un botón de la página, la devuelve al servidor con un destino de Default.aspx.

  5. En el servidor Web, la página se ejecuta de nuevo. La información que el usuario escribió o seleccionó está disponible para la página.

  6. La página realiza el procesamiento que tiene programado hacer.

  7. La página se representa a sí misma en el explorador.

Este ciclo continúa durante el tiempo que el usuario esté trabajando en la página. Cada vez el usuario hace clic en un botón, la información de la página se manda al servidor Web y la página se ejecuta de nuevo. Cada ciclo se conoce como acción de ida y vuelta. Dado que el procesamiento de páginas se realiza en el servidor Web, cada acción que la página puede hacer requiere un recorrido de ida y vuelta al servidor.

Nota:

Una página Web de ASP.NET puede ejecutar script de cliente, lo cual no requiere un recorrido de ida y vuelta al servidor y resulta útil para la validación de la entrada del usuario y para algunos tipos de programación de la interfaz de usuario. Para obtener más información, vea Script de cliente en páginas web ASP.NET.

Envío entre páginas

Bajo algunas circunstancias, podría desear que una página se mande a otra página diferente, no a sí misma. Esto se denomina envío entre páginas. Por ejemplo, podría estar creando una serie de páginas que procese un orden del cliente. Cada página se puede mandar a la página siguiente de la secuencia. Para obtener más información, vea Envío entre páginas en las páginas Web ASP.NET.

Período de duración de la página

Al contrario que los formularios de las aplicaciones de sobremesa, una página Web de ASP.NET no se inicia, se ejecuta mientras el usuario trabaja con el formulario y, a continuación, sólo se descarga cuando el usuario hace clic en un botón Cerrar. Esto ocurre porque el Web está desconectado inherentemente. Cuando un explorador solicita una página de un servidor Web, el explorador y el servidor sólo se conectan el tiempo suficiente para procesar la solicitud. Después de que el servidor Web ha representado una página en el explorador, finaliza la conexión. Si el explorador realiza otra solicitud al mismo servidor Web, incluso para la misma página, esta solicitud se procesa como una nueva solicitud.

La naturaleza desconectada del Web dicta la manera en la que se ejecuta la página ASP.NET. Cuando un usuario solicita una página Web ASP.NET, se crea una nueva instancia de la página. La página realiza su procesamiento, representa el marcado en el explorador y se descarta a continuación. Si el usuario hace clic en un botón para realizar una devolución de datos, se crea una nueva instancia de la página, ésta realiza su procesamiento y se descarta de nuevo. Así, cada devolución de datos y cada recorrido de ida y vuelta produce una nueva instancia de la página.

Para obtener más información, vea Crear páginas web ASP.NET.

Conservar el estado de página

En el protocolo HTTP estándar, la única información que el servidor posee de una página es la que el usuario ha especificado mediante los controles de la misma, porque el explorador envía al servidor únicamente esa información cuando se envía la página. Cualquier otro tipo de información, como los valores de las variables y la configuración de las propiedades, se elimina. ASP.NET ayuda a conservar otra información de la página de las maneras siguientes:

  • ASP.NET guarda la configuración del control (sus propiedades) entre las acciones de ida y vuelta, lo que recibe el nombre de estado del control.

  • ASP.NET proporciona funciones de administración del estado que permiten guardar las variables personalizadas e información específica de la aplicación o de la sesión entre cada acción de ida y vuelta.

  • ASP.NET puede detectar cuándo se solicita una página por primera vez y cuándo se envía, lo que permite programar de la manera conveniente. Por ejemplo, podría desear leer información de una base de datos la primera vez se muestre una página, pero no en cada devolución de datos.

    Nota:

    Se puede configurar el servidor para que almacene la información de la página en la memoria caché y así optimizar las páginas, pero para el objetivo de la programación de aplicaciones, es mejor pensar que las páginas se eliminan tan pronto como el servidor ha terminado de procesarlas.

Para obtener más información, vea Información general sobre la administración de estados de ASP.NET.

Programar las páginas Web de ASP.NET

El código de servidor de las páginas Web ASP.NET se puede crear con una serie de lenguajes en .NET Framework, incluidos Visual Basic, C# y J#. Las páginas Web de ASP.NET pueden contener script de cliente que se ejecuta dentro del explorador. Algunas funciones ASP.NET generan script de cliente y lo insertan en la página. En ese caso, ASP.NET siempre genera ECMAScript (JavaScript) para obtener una mejor funcionalidad entre los distintos exploradores. Además, puede agregar su propio script de cliente para conseguir una funcionalidad personalizada. Si hace, puede utilizar cualquier lenguaje de script de cliente que sea compatible con los exploradores que desee utilizar.

Controles de servidor

Como cualquier página Web, las páginas Web de ASP.NET pueden contener texto estático. Sin embargo, normalmente lo que hará será agregar controles a la página, por ejemplo cuadros de texto, casillas y botones. Estos controles permiten al usuario interactuar con la página y enviar información al servidor cuando ésta se devuelve.

ASP.NET proporciona una colección de controles que se conocen como controles de servidor Web. Los controles de servidor ASP.NET pueden ser similares a los elementos de formato HTML correspondientes. Por ejemplo, el control ASP.NET TextBox es similar a una etiqueta HTML <input type="text">. Sin embargo, los controles de servidor ASP.NET proporcionan una experiencia de programación más rica que los elementos HTML. Hay también controles de servidor ASP.NET para una gama de funciones mucho más amplia que la que proporcionan los elementos HTML. Entre los controles de servidor que puede utilizar en una página Web de ASP.NET existe un control de calendario, controles enlazados a datos que muestran listas o cuadrículas, un control de inicio de sesión para agregar seguridad a su sitio y mucho más.

Para obtener más información, vea Información general sobre los controles de servidor Web ASP.NET.

Eventos de controles de página y de servidor

Una página Web de ASP.NET y los controles que incluye admiten un modelo de eventos similar al que existe en los formularios Windows Forms. Por ejemplo, cuando los usuarios hacen clic en un control de servidor Button en una página Web ASP.NET, la página se devuelve al servidor, se vuelve a crear y se provoca un evento de clic. Puede agregar código a la página que responde a este evento de clic.

La propia página provoca eventos de ciclo de vida cuando se inicializa, eventos tales como Page_Init y Page_Load, lo que permite ejecutar código cuando la página se inicia. (Recuerde que la página se crea y reinicializa con cada recorrido de ida y vuelta). Los controles individuales pueden provocar sus propios eventos. Los controles de botón provocan un evento Click, los controles de casilla y de botón de opción provocan un evento CheckedChanged y los controles de cuadro de lista y de lista desplegable provocan un evento SelectedIndexChanged. Algunos controles, como Calendar, provocan eventos que son más abstractos que un simple evento de clic. Por ejemplo, el control Calendar provoca un evento VisibleMonthChanged cuando los usuarios navegan hasta un mes diferente.

La mayoría de los controles de servidor de ASP.NET sólo admiten unos pocos eventos que el usuario puede controlar en el código del servidor. Para procesar un evento, la página debe realizar una acción de ida y vuelta de manera que la elección del usuario se pueda enviar a la página para su procesamiento. Los controles de servidor no exponen eventos que se producen con mucha frecuencia, como onmouseover, porque cada vez que se provoca un evento, se produce una nueva acción de ida y vuelta en el servidor, lo que afecta considerablemente al tiempo de respuesta de la página. Sin embargo, los controles de servidor ASP.NET se pueden configurar para provocar eventos, como onmouseover, en el cliente. En ese caso, los controles no se devuelven al servidor y el usuario crea el script de cliente para responder a los eventos.

Para obtener más información sobre cómo crear y utilizar eventos y controladores de eventos, vea Control de eventos del servidor en páginas Web ASP.NET.

Compatibilidad del explorador

Dado que el procesamiento de una página Web de ASP.NET se realiza en el servidor Web, las páginas Web de ASP.NET son compatibles con cualquier explorador o dispositivo móvil. Una página Web representa automáticamente el marcado compatible con el explorador (XHTML u otro lenguaje de marcado) para características como estilos y diseño. Alternativamente, puede crear páginas Web con controles diseñados específicamente para representar el resultado de unos dispositivos concretos, como los teléfonos móviles. Para obtener más información, vea Crear páginas Web de ASP.NET Mobile.

Vea también

Conceptos

Información general sobre los controles de servidor Web ASP.NET