DESARROLLADOR

Programación de controles de servidor de interfaz de usuario ASP.NET

ASP.NET proporciona controles de servidor web y HTML que brindan un reconocimiento completo del navegador. Conozca las similitudes y diferencias entre estos controles y aprenda a usarlos.

Los controles de servidor ASP.NET representan elementos de la interfaz de usuario en una página que muestran información (como una etiqueta) o recopilan información (como un cuadro de texto). Puede programar un control de servidor tal como programaría un control en una aplicación GUI manipulando sus métodos y propiedades y respondiendo a sus eventos.

La infraestructura de WebForms administra los viajes de ida y vuelta entre el navegador y el servidor y oscurece en gran medida el hecho de que está escribiendo una aplicación web. ASP.NET proporciona dos grupos de controles de servidor: controles de servidor HTML y controles de servidor Web. En este artículo, demostraré ambos tipos de controles de servidor para ilustrar sus similitudes y diferencias.

cableado de control
Cuando se habla de programación de páginas web ASP.NET, hay dos partes que debe comprender: los elementos que coloca en la página y las clases de control de servidor .NET correspondientes que proporcionan métodos y propiedades para manipular ese elemento. Separar la interfaz de usuario de la página de la lógica significa que los elementos van al archivo .aspx y los campos de referencia de objeto de las instancias de clase de control de servidor correspondientes se declaran en las clases lógicas. Esto se implementa en lenguajes que soportan .NET, como C# (.cs) o Visual Basic.NET (.vb).

El tiempo de ejecución de ASP.NET genera una clase .NET a partir del archivo .aspx. Esta clase de interfaz de usuario generada se deriva de la clase lógica. El nombre de la clase lógica se especifica a través del atributo Inherits en la directiva @Page en la parte superior del archivo .aspx. El atributo id del elemento recibe el mismo nombre que el campo de referencia del objeto de control del servidor en la clase lógica. Los campos de referencia del objeto de control del servidor generalmente se declaran con al menos acceso protegido para que estén disponibles para las clases de interfaz de usuario derivadas.

Cuando se solicita una página, se crea una instancia de la clase UI en el servidor. Crea un objeto de control de servidor para cada elemento de la página especificando runat=»servidor» y almacena la referencia del objeto en el campo correspondiente en la clase lógica. Esto permite que los métodos de clases lógicas (como los controladores de eventos) manipulen elementos creados por clases de interfaz de usuario. Los enlaces entre la interfaz de usuario y las clases lógicas y entre los elementos de la página y las referencias de objetos de control del servidor se muestran en la Figura A.

LEER  iA Writer es la aplicación de productividad que todo usuario de Apple necesita
Figura A
Programacion de controles de servidor de interfaz de usuario ASPNET
Enlace a la referencia de control del servidor

Controles de servidor HTML
Los controles de servidor de interfaz de usuario proporcionados por ASP.NET se encuentran en el espacio de nombres System.Web.UI y los controles de servidor HTML se encuentran en el espacio de nombres System.Web.UI.HtmlControls. Echemos un vistazo a una página simple implementada usando controles de servidor HTML. La página HtmlGreeter solicita al usuario que ingrese su nombre y luego envía un saludo. La interfaz de usuario de la página está en HtmlGreeter.aspx del Listado A y la lógica de la página está en HtmlGreeter.aspx.cs del Listado B. La representación inicial se muestra en la Figura B y la respuesta se muestra en la Figura C.

Figura B
1669027518 504 Programacion de controles de servidor de interfaz de usuario ASPNET
solicitud de nombre de usuario
Figura C
1669027519 776 Programacion de controles de servidor de interfaz de usuario ASPNET
Saludo desde HtmlGreeter

Los controles de servidor HTML operan en elementos HTML estándar que contienen un atributo runat=»server». HtmlGreeter consta de cuatro elementos manipulados mediante programación:

  • · Una elemento de título
  • · Una Elementos utilizados para marcar cuadros de texto
  • · Un párrafo de texto Elemento para recopilar nombres de usuario
  • · enviar elementos de la página de envío

El atributo id de cada elemento lo asocia con el campo de referencia de control del servidor HTML en HtmlGreeterLogic. precaución, El elemento de envío adjunta mediante declaración el método del controlador de eventos HtmlGreeterLogic.Button_Click al El evento de clic del botón enviar.

No existe un mapeo uno a uno entre los elementos HTML y los controles del servidor HTML que se usan para programarlos. Actualmente hay alrededor de 16 controles de servidor HTML, pero muchos más elementos HTML. Varios controles de servidor HTML programan dos o más elementos HTML.Por ejemplo, un control HtmlInputText puede escribir un elemento, como en HtmlGreeter, pero también puede escribir un elemento. No es sorprendente que el control de servidor HTML más genérico sea HtmlGenericControl.En la página HtmlGreeter, use HtmlGenericControl para programar y (negrita) elemento. La Tabla A enumera varios de los controles de servidor HTML más comunes y los elementos HTML que crean.

Tabla A
1669027520 700 Programacion de controles de servidor de interfaz de usuario ASPNET
Controles de servidor HTML comunes

La creación de páginas con elementos HTML y la programación de esos elementos con controles de servidor HTML le permite determinar qué se envía al navegador. Los elementos HTML que especifique se envían al navegador, menos los atributos del lado del servidor (como runat=»server») y cualquier modificación de programación del lado del servidor.

Controles del servidor web
Ahora vamos a volver a implementar la página de bienvenida usando controles de servidor web en lugar de controles de servidor HTML. Los controles del servidor web se encuentran en el espacio de nombres System.Web.UI.WebControls. La interfaz de usuario de la página AspGreeter está en el Listado C, AspGreeter.aspx. La lógica de la página está en AspGreeter.aspx.cs del Listado D. Al igual que los elementos HTML, los elementos de la página de control del servidor web deben contener un atributo runat=»server» para poder programarlos en el lado del servidor. A diferencia de los elementos HTML, existe un mapeo uno a uno entre los elementos de la página y las clases de control del servidor web utilizadas para programar los elementos.

En su mayor parte, los elementos de AspGreeter se ven y se comportan como elementos HTML estándar. Hay algunas diferencias. Por ejemplo, cada nombre de etiqueta de elemento en AspGreeter tiene como prefijo la etiqueta asp:XML para hacer referencia al espacio de nombres ASP.Hay cierta flexibilidad en la especificación del contenido. Elegí especificar el contenido a través de la propiedad Texto y terminar la etiqueta de apertura con />.Alternativamente, puedo agregar un Etiqueta de cierre y especificación del contenido como texto interno del elemento. Tiene las mismas opciones al especificar un valor inicial para un control TextBox.

mas allá de lo básico
Si bien los controles del servidor web utilizados en AspGreeter son casi idénticos a los elementos HTML estándar, otros controles del servidor web brindan una funcionalidad más compleja. La Tabla B enumera algunos puntos clave.

Formulario B
1669027520 686 Programacion de controles de servidor de interfaz de usuario ASPNET
Seleccionar controles de servidor web

AdRotator selecciona un anuncio de banner de la colección y lo muestra. El control Calendario muestra un calendario mensual para habilitar la selección de fechas, similar al control ActiveX MSCAL.Calendar.

DataGrid y Repeater son controles vinculados a datos que muestran elementos de un origen de datos, como un DataSet de ADO.NET. Un DataGrid muestra los elementos de la fuente de datos en una cuadrícula, mientras que un repetidor usa un diseño personalizado para mostrar los elementos de la fuente de datos. Junto con otros controles de servidor web enlazados a datos, tiene una gran flexibilidad en la visualización de datos. Sin embargo, el uso de controles enlazados a datos es otro tema.

Puede mezclar HTML y controles de servidor Web en la misma página. Sin embargo, mientras que los elementos HTML que especifique serán los elementos representados cuando la página se envíe al navegador, los controles del servidor web se representan de acuerdo con las capacidades del navegador. Por ejemplo, un control de servidor web complejo, como DataGrid, puede incluir secuencias de comandos del lado del cliente para una mejor capacidad de respuesta en su destino de representación al navegador de nivel superior. El mismo control representado para un dispositivo móvil podría hacer un viaje de ida y vuelta al servidor para realizar la misma tarea.

¿Es ASP.NET un paso en la dirección correcta?

ASP.NET representa un replanteamiento completo. ¿Son estos cambios una mejora para usted? ¿Qué es lo que más le gusta de ASP.NET? Envíenos un correo electrónico con sus pensamientos y experiencias, o deje un comentario a continuación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba