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

Actualización: noviembre 2007

Cuando crea páginas Web ASP.NET, puede utilizar estos tipos de controles:

  • Controles de servidor HTML   Elementos HTML expuestos al servidor para que se puedan programar. Los controles de servidor HTML exponen un modelo de objeto que se relacionan muy estrechamente con los elementos HTML que representan.

  • Controles de servidor Web   Controles con más funciones incorporadas que los controles de servidor HTML. Los controles de servidor Web incluyen no sólo controles de formulario como botones y cuadros de texto, sino también controles con fines especiales como un calendario, menús y un control de vista de árbol. Los controles de servidor Web son más abstractos que los controles de servidor HTML pues su modelo de objetos no refleja necesariamente la sintaxis HTML.

  • Controles de validación   Controles que incorporan lógica para permitirle comprobar los controles de entrada de los usuarios como el control TextBox. Los controles de validación le permiten comprobar un campo necesario, su adecuación a un valor o un modelo de caracteres concreto, comprobar que un valor se encuentra en un intervalo predefinido, etc. Para obtener más información, vea Controles de validación ASP.NET.

  • Controles de usuario   Controles que crea como páginas Web ASP.NET. Se pueden incrustar controles de usuario de ASP.NET en otras páginas Web ASP.NET; esta es una forma sencilla de crear barras de herramientas y otros elementos reutilizables. Para obtener más información, vea Controles de usuario ASP.NET.

    Nota:

    También se pueden crear resultados para dispositivos móviles. Para hacerlo así, se utiliza el mismo marco de trabajo de páginas ASP.NET, pero se crean páginas Web Mobile ASP.NET en lugar de páginas Web ASP.NET y se utilizan controles diseñados específicamente para dispositivos móviles. Para obtener información detallada, vea Crear páginas Web de ASP.NET Mobile.

En la misma página puede utilizar todos los tipos de controles. En las siguientes secciones se proporciona información más detallada sobre los controles de servidor ASP.NET.

Nota:

En algunos casos, el funcionamiento correcto de los controles de servidor requiere scripts de cliente. Si un usuario ha deshabilitado el scripting en el explorador, el funcionamiento de los controles podría no ser el esperado. Para obtener información detallada, vea Controles de servidor Web ASP.NET y funciones del explorador.

Controles de servidor HTML

Los controles de servidor HTML son elementos HTML (o elementos en otro marcado compatible, como XHTML) que contienen atributos que los convierten en programables en código del servidor. De forma predeterminada, los elementos HTML en una página Web ASP.NET no están disponibles para el servidor. En su lugar, se tratan como texto opaco y se pasan al explorador. Sin embargo, cuando se convierten en controles de servidor HTML, los elementos HTML quedan expuestos como elementos programables en el servidor.

El modelo de objetos de los controles de servidor HTML se relaciona estrechamente con el de los elementos correspondientes. Por ejemplo, los atributos HTML se exponen en controles de servidor HTML como propiedades.

Cualquier elemento HTML de una página se puede convertir en control de servidor HTML agregando el atributo . Durante el análisis, el marco de trabajo de la página ASP.NET crea instancias de todos los elementos que contienen el atributo . Si desea hacer referencia al control como un miembro dentro del código, también deberá asignarle un atributo id al control.

El marco de trabajo de la página proporciona controles de servidor HTML predefinidos para los elementos HTML que se utilizan con más frecuencia dinámicamente en una página: el elemento form, los elementos input (cuadro de texto, casilla, botón Enviar), el elemento select, etc. Estos controles de servidor HTML predefinidos comparten las propiedades básicas del control genérico y, además, cada control normalmente proporciona su propio conjunto de propiedades y su propio evento.

Los controles de servidor HTML ofrecen las funciones siguientes:

  • Un modelo de objetos que pueda volver a programar en el servidor con las técnicas habituales orientadas a objetos. Los controles de servidor exponen propiedades que permiten manipular los atributos de marcado del control mediante programación en el código del servidor.

  • Un conjunto de eventos para los que pueda escribir controles de eventos de la misma forma que lo haría en un formulario basado en cliente, con la excepción de que un evento se controla en código del servidor.

  • La capacidad de controlar eventos en un script de cliente.

  • Mantenimiento automático del estado del control. Cuando la página realiza una acción de ida y vuelta al servidor, los valores que el usuario escriba en los controles de servidor HTML se mantendrán automáticamente y la página se devuelve al explorador.

  • Interacción con los controles de validación ASP.NET para poder comprobar que un usuario ha escrito la información adecuada en un control.

  • Enlace de datos a una o varias de las propiedades del control.

  • Compatibilidad con estilos si la página Web ASP.NET se muestra en un explorador que admite hojas de estilos en cascada.

  • Paso a través de atributos personalizados. Pueden agregarse los atributos que se necesiten a un control de servidor HTML: el marco de trabajo de páginas los representará sin ningún cambio en la funcionalidad. Esto permite agregar atributos específicos del explorador a los controles.

Para obtener detalles sobre cómo convertir un elemento HTML en un control de servidor HTML, vea Cómo: Agregar controles de servidor HTML a una página Web mediante la sintaxis de ASP.NET.

Controles de servidor Web

Los controles de servidor Web son un segundo conjunto de controles diseñado con otro enfoque. No se asignan necesariamente uno a uno a controles de servidor HTML. En lugar de ello, se definen como controles abstractos, en los que el marcado real representado por el control puede ser muy diferente al modelo con respecto al que se han programado. Por ejemplo, un control RadioButtonList de servidor Web podría representarse en una tabla o como un texto en línea con otro marcado.

Los controles de servidor Web incluyen controles de formulario tradicionales como botones y cuadros de texto, además de controles complejos, como, por ejemplo, las tablas. También incluyen controles que proporcionan funcionalidad de formulario de uso frecuente, como la presentación de datos en cuadrícula, la elección de fechas, la visualización de menús, etc.

Los controles de servidor Web ofrecen todas las funciones descritas anteriormente para los controles de servidor HTML (excepto la asignación uno a uno a elementos) y estas funciones adicionales:

  • Un modelo de objetos enriquecido que proporciona capacidades de programación de tipo seguro.

  • Detección automática del explorador. Los controles pueden detectar las funciones del explorador y representar el marcado adecuado.

  • Para algunos controles, la capacidad para definir su propio diseño para el control utilizando Templates.

  • Para algunos controles, la capacidad de especificar si un evento del control provoca un envío inmediato al servidor o, en su lugar, se almacena en caché y se activa cuando se envía la página.

  • Compatibilidad para temas, lo que le permite definir un aspecto uniforme para los controles en todo el sitio. Para obtener información detallada, vea Temas y máscaras de ASP.NET.

  • Capacidad para pasar eventos de un control anidado (como un botón en una tabla) al control contenedor.

Los controles utilizan una sintaxis como la que se muestra a continuación:

<asp:button attributes  id="Button1" />

En este caso los atributos no son los de los elementos HTML. En lugar de ello, son propiedades del control Web.

Cuando se ejecuta la página Web ASP.NET, el control de servidor Web se representa en la página utilizando el marcado apropiado, que con frecuencia no sólo depende del tipo de explorador sino también de la configuración que haya realizado para el control. Por ejemplo, un control TextBox podría representarse como una etiqueta input o una etiqueta textarea dependiendo de sus propiedades.

Existe documentación detallada de referencia y funcionamiento para cada uno de los controles por separado.

Vea también

Conceptos

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