Share via


Tipos de adaptadores

Actualización: noviembre 2007

Para facilitar la compatibilidad con varios dispositivos, la arquitectura de páginas Web de ASP.NET Mobile se basa en un modelo de adaptadores de dispositivos. Las páginas Web móviles y los controles ASP.NET Mobile son de por sí independientes del dispositivo, pero un conjunto de adaptadores de dispositivo debidamente elegidos proporciona una capa de presentación específica del dispositivo para las páginas y controles móviles.

Los adaptadores de dispositivos están asociados a combinaciones de controles independientes y dispositivos de destino. Para un dispositivo dado, cada clase de controles móviles puede tener asociada una única clase de adaptadores de controles, y cada instancia de un control está enlazada a una instancia correspondiente de un adaptador.

Para cada tipo de dispositivo, se pueden definir las clases siguientes:

  • Clase base de adaptadores de controles. Clase base de la que heredan todos los adaptadores de dispositivos.

  • Adaptador de página. Adaptador asociado a la página.

  • Adaptador de formularios. Adaptador de controles asociado a cada formulario de la página.

  • Adaptadores de controles. Clases de adaptadores de controles que se corresponden con los controles del sistema.

  • Sistema de escritura de texto. Clase que hereda de la clase HtmlTextWriter y que contiene métodos auxiliares específicos del destino.

Como norma, si alguna funcionalidad precisa el contexto de un control, considere la posibilidad de situarlo en la clase base de adaptadores de controles.

La tabla siguiente enumera los tipos de adaptadores y algunos ejemplos de clases de implementación específicas del dispositivo para cada adaptador.

Adaptador y tipo de clase

Clase de control ASP.NET Mobile

Descripción

Clase base de adaptadores de controles

ControlAdapter

Todos los adaptadores de dispositivos heredan de esta clase base.

Adaptador de páginas

ChtmlPageAdapter

HtmlPageAdapter

WmlPageAdapter

XhtmlPageAdapter

Adaptador de controles asociado a la página.

Adaptador de formularios

ChtmlFormAdapter

HtmlFormAdapter

WmlFormAdapter

XhtmlFormAdapter

Adaptador de controles asociado a cada formulario de la página.

Adaptador de controles

HtmlControlAdapter

WmlControlAdapter

XhtmlControlAdapter

Clases de adaptadores de controles que se corresponden con los controles del sistema.

Escritor de texto

ChtmlMobileTextWriter

HtmlMobileTextWriter

WmlMobileTextWriter

XhtmlMobileTextWriter

Clase que hereda de HtmlTextWriter y que contiene métodos auxiliares específicos del destino.

Clase base de adaptadores de controles

Cada conjunto de adaptadores de dispositivos incluye normalmente una clase base para todos los adaptadores del conjunto. La clase base ControlAdapter proporciona funcionalidad utilizada comúnmente y específica de la clase de dispositivos. Por lo general, esto consiste en métodos auxiliares que requieren contexto de control o de página. Entre estos métodos auxiliares se incluyen:

  • Métodos para representar eventos de devolución de datos de controles.

  • Métodos que representan propiedades de estilo del control. Las propiedades de estilo se tratan de forma distinta para cada dispositivo; por tanto, cada adaptador tiene una implementación diferente para la representación de los estilos.

  • Métodos que se pueden reemplazar y que proporcionan información específica del dispositivo al marco de trabajo de páginas ASP.NET, o a adaptadores de la página o formulario contenedor.

  • Propiedades convenientes para obtener acceso a adaptadores de la página o formulario contenedor.

Es aconsejable que la clase base de adaptadores de controles que se proporcione herede también de la clase ControlAdapter, que es una clase base general. Esta clase proporciona una implementación predeterminada de la interfaz IControlAdapter que requieren todos los adaptadores. Se recomienda que la implementación de la representación predeterminada de la clase base represente todos los controles secundarios. Esto permite utilizar la clase base como adaptador para los controles compuestos.

Clase de adaptadores de páginas

Cada conjunto de adaptadores de dispositivos tiene una clase de adaptadores de páginas que está asociada a la página móvil. Cada instancia de una página móvil, o cada clase de páginas heredada de un objeto MobilePage, está enlazada a un adaptador de página específico del dispositivo de destino. Un adaptador de páginas contiene normalmente lo siguiente:

  • Funcionalidad de estado de vista y de devolución de datos específica del dispositivo.

  • Métodos que guardan y cargan el estado de controles específico del dispositivo; por ejemplo, información sobre la paginación.

  • Código de inicialización que prepara la respuesta devuelta al cliente. Esto incluye el establecimiento del tipo MIME de la respuesta en el formato apropiado.

  • Método Render que representa la estructura de la página devuelta al cliente. Por ejemplo, los adaptadores de páginas basados en HTML suelen representar por lo menos las etiquetas <html> de apertura y cierre.

  • Otras funciones en el nivel de página específicas del dispositivo, tales como ensamblar un adaptador de páginas para un dispositivo que admita la posibilidad de devolver varias páginas en una sola respuesta.

Una clase de adaptadores de páginas debe proporcionar una implementación completa de la interfaz IPageAdapter. Normalmente, la clase de adaptadores de páginas que se escriba debe heredar también de la clase de adaptadores de controles apropiada. Por ejemplo, si está escribiendo únicamente para un dispositivo basado en WML, desearía heredar de la clase WmlControlAdapter. Para obtener más información acerca de las clases de adaptadores, vea Código de adaptadores de dispositivos.

Clase de adaptadores de formularios

Cada conjunto de adaptadores de dispositivos tiene también una clase de adaptadores de formularios que está asociada a la clase Form. Cada instancia de un formulario está enlazada a un adaptador de formularios que es específico del dispositivo de destino. Un adaptador de formularios contiene normalmente lo siguiente:

  • Métodos que tratan la interactividad entre formularios específica del dispositivo.

  • Métodos que tratan la adaptación de un único formulario a distintos dispositivos. Esto podría incluir código para paginar un formulario o para combinar elementos de formulario en un menú.

  • Un método Render que representa la estructura del formulario. Por ejemplo, los adaptadores de páginas basados en WML suelen representar por lo menos las etiquetas <card> de apertura y cierre.

Clase de escritores de texto

La clase de sistema de escritura de texto no es una clase de adaptador, sino una clase que hereda de la clase System.Web.UI.HtmlTextWriter. Para llevar a cabo la representación, se crea y se pasa mediante cada adaptador una instancia de la clase de escritores de texto; es decir, todo el proceso de representación se realiza a través de este objeto. El sistema de escritura de texto contiene normalmente métodos auxiliares para ejecutar tareas tales como la codificación de los datos.

Vea también

Otros recursos

Agregar nuevos adaptadores de dispositivos y compatibilidad con dispositivos