Información general sobre los diseñadores de controles ASP.NET

Actualización: noviembre 2007

ASP.NET incluye funciones mejoradas para crear diseñadores de controles de servidor Web. Los diseñadores permiten crear una interfaz de usuario en tiempo de diseño para un control; de este modo, los desarrolladores pueden configurar las propiedades y el contenido del control en una herramienta de diseño visual como Microsoft Visual Studio 2005. Para obtener información general sobre las funciones y la arquitectura en tiempo de diseño proporcionadas por .NET Framework, vea Ampliar compatibilidad en tiempo de diseño.

En esta introducción se explican las funciones de los diseñadores de controles ASP.NET, las clases de diseñadores básicos y su funcionalidad, así como los escenarios para trabajar con diseñadores.

Funciones de los diseñadores

Aunque la versión 2.0 de ASP.NET continúa admitiendo la arquitectura de los diseñadores de controles de la versión anterior, ha agregado mejoras significativas.

  • Edición basada en regiones. Las regiones son áreas modificables de la vista en tiempo de diseño de un control. Esta función ofrece edición en modo WYSIWYG del contenido de un control en tiempo de diseño.

  • Listas de acciones. Las listas de acciones son menús de tareas que el desarrollador de páginas de un control puede realizar en la interfaz de usuario en tiempo de diseño. Por ejemplo, la vista en tiempo de diseño del control puede proporcionar un menú de tareas disponibles, incluida una tarea para aplicar formato al control automáticamente.

  • Diseñadores de origen de datos y enlazados a datos. Los diseñadores de controles de origen de datos permiten al desarrollador de páginas configurar los controles de origen de datos. Los diseñadores de controles enlazados a datos permiten al desarrollador de páginas configurar los controles con enlace a datos. Hay disponibles características para implementar la comunicación entre los diseñadores de origen de datos y los diseñadores enlazados a datos. Para obtener un ejemplo de un diseñador de un control de origen de datos, vea DataSourceDesigner. Para obtener un ejemplo de un diseñador de un control enlazado a datos, vea HierarchicalDataBoundControlDesigner.

  • Edición simplificada con plantillas. El modelo para crear una interfaz de usuario para la edición en tiempo de diseño de controles con plantillas (como GridView) se ha modificado y simplificado considerablemente, de forma que el desarrollador de controles puede elegir su propia edición de plantilla con regiones. Para obtener un ejemplo, vea Ejemplo de control de servidor con plantilla.

  • Modelo de objetos simplificado. El modelo de objetos para trabajar con la representación en tiempo de diseño se ha simplificado, por lo que el único problema importante que debe abordar el desarrollador es la creación de código HTML en tiempo de diseño. Una serie de clases base nuevas proporcionan acceso al modelo de objetos simplificado: ControlDesigner, ContainerControlDesigner y CompositeControlDesigner.

  • Suscripción a servicios host. Un diseñador de controles puede suscribirse y utilizar diversos servicios proporcionados por el entorno host. Por ejemplo, un diseñador de controles puede utilizar servicios de Visual Studio 2005 para proporcionar acceso a datos, proporcionar acceso a la configuración, agregar controles a una página mediante programación en tiempo de diseño, controlar eventos de clic en el diseñador, dibujar en la superficie de diseño y tener acceso a otros servicios, como el estado del diseñador.

Clases de diseñador

Un diseñador de controles permite la representación en tiempo de diseño de un control de servidor Web actuando como mediador entre el control en tiempo de ejecución y el entorno host. En el entorno host, los diseñadores proporcionan las funciones siguientes que ayudan a crear una interfaz de usuario en tiempo de diseño para los usuarios de los controles:

  • Contenido y representación en tiempo de diseño. Un diseñador de controles permite varios tipos de representación, tanto simple como complejo. La edición basada en regiones y la edición con plantillas son ejemplos de los tipos de interfaces de usuario en tiempo de diseño que se pueden proporcionar para un control. También se puede proporcionar la edición de columnas o diversas vistas en tiempo de ejecución de un control, de modo que un desarrollador que trabaje con el control en tiempo de diseño pueda elegir entre un conjunto de opciones, como la forma de representar el control en tiempo de ejecución.

  • Otras clases en tiempo de diseño. Además de las clases de diseñador, hay clases de convertidor de tipos que se asocian a un tipo o una propiedad y realizan conversiones de tipos (por ejemplo, de cadena a valor). También hay clases de editor de tipos de interfaz de usuario que proporcionan una interfaz de usuario especializada para editar una propiedad. Por ejemplo, la lista desplegable de selector de colores en una cuadrícula de propiedades permite seleccionar un color para una propiedad de color en un control Web. También puede crear un editor de componentes especializado, que es una clase que proporciona la edición de las propiedades de un control como un conjunto.

  • Almacenamiento de los datos asociados de un control. Las propiedades internas y el contenido de un control se pueden almacenar para que el control y sus controles secundarios conserven el estado en el entorno en tiempo de diseño. Esto se controla según cómo esté definido el control configurado en el marcado.

Cuando cree diseñadores de controles para sus controles de servidor Web, probablemente utilizará varias clases base:

Escenarios del trabajo con diseñadores

Hay dos escenarios comunes en que se puede trabajar con diseñadores de controles: el desarrollo de controles personalizados y el desarrollo de herramientas de diseño visual.

Cuando se desarrollan controles de servidor Web personalizados, se puede crear un diseñador asociado con el fin de mejorar la capacidad del desarrollador de una página para configurar el control en tiempo de diseño. Este escenario es especialmente útil si el control puede ser reutilizado por una serie de desarrolladores de páginas. Por ejemplo, podría crear un control gráfico personalizado. Si proporciona un diseñador de controles asociado, los distintos desarrolladores de páginas de la intranet pueden configurar cada uno un control en una página con un estilo diferente.

Si se desarrolla una herramienta de diseño Web visual, similar a Visual Studio 2005 o Microsoft FrontPage, se puede utilizar el diseñador de controles que aloja los componentes. De este modo, la herramienta puede proporcionar servicios e interactuar con los diseñadores de controles con el fin de proporcionar representación en tiempo de diseño para los controles personalizados.

Para obtener más información acerca de la arquitectura de diseñadores de .NET Framework, vea Arquitectura en tiempo de diseño. Para obtener detalles acerca de cómo crear su propio diseñador para un control de servidor Web personalizado, vea Tutorial: Crear un diseñador de controles básico para un control de servidor Web.

Compatibilidad con varias herramientas de desarrollo

Microsoft Visual Web Developer admite todas las características descritas en este tema, pero puede que otras herramientas de desarrollador no las admitan. He aquí algunos ejemplos de características que quizás no sean compatibles:

Vea también

Conceptos

Arquitectura en tiempo de diseño

Ejemplo de diseñador de controles con listas de acciones y servicios

Otros recursos

Compatibilidad en tiempo de diseño con páginas Web ASP.NET

Ampliar compatibilidad en tiempo de diseño