Compartir a través de


Conjunto de adaptadores de WML

Actualización: noviembre 2007

El conjunto de adaptadores de WML se compone de clases que pueden utilizarse para representar páginas Web de ASP.NET Mobile en clientes compatibles con WML v1.1 o WML v1.2. Es posible que algunos métodos y propiedades no se hayan incluido en esta documentación. En la tabla siguiente se enumeran las clases principales incluidas en el conjunto de adaptadores de WML.

Conjunto de adaptadores para dispositivos WML

Espacio de nombres de las clases de adaptadores principales

Clase base abstracta ControlAdapter

WmlControlAdapter

Clase HtmlFormAdapter

WmlFormAdapter

Clase abstracta PageAdapter

WmlPageAdapter

Clase MobileTextWriter

WmlMobileTextWriter

Un explorador Openwave UP.Browser usa un adaptador de página y un sistema de escritura de texto distintos. La tabla siguiente muestra las clases principales que son utilizadas por el conjunto de adaptadores que admite estos exploradores.

Conjunto de adaptadores para exploradores UP.Browser

Espacio de nombres de las clases de adaptadores principales

Clase base abstracta ControlAdapter

WmlControlAdapter

Clase HtmlFormAdapter

WmlFormAdapter

Clase abstracta PageAdapter

UpWmlPageAdapter

Clase MobileTextWriter

UpWmlMobileTextWriter

Nota:

Con UP.Browser 4.1 o UP.Browser 3.2, el método Redirect siempre se comporta como si el valor de la propiedad SupportsRedirectWithCookie del objeto HttpBrowserCapabilities fuese false, a menos que la propiedad Cookieless de la sección SessionState del archivo Web.config se haya establecido explícitamente en true.

En ASP.NET 1.1, las opciones para esta opción eran true o false, pero con ASP.NET 2.0, las opciones se han ampliado y ahora AutoDetect es el valor predeterminado. Si la aplicación Web tiene el atributo cookieless de la sección <sessionState> del archivo Web.config establecido en un valor booleano, el método Redirect funcionará como cabe esperar para estos exploradores.

Selección

El conjunto de adaptadores de WML se selecciona si la propiedad PreferredRenderingType de la clase MobileCapabilities devuelve PreferredRenderingTypeWml11 o PreferredRenderingTypeWml12.

Representación adaptable

El conjunto de adaptadores de WML es capaz de adaptarse de manera significativa a las distintas funciones que ofrecen los teléfonos celulares basados en WML. Esto supone que el conjunto de adaptadores llama realmente al método Render dos veces por cada formulario y sus controles secundarios. En la primera pasada, el sistema de escritura está en modo de análisis y usa todas las llamadas que ha recibido para analizar los resultados del formulario. En la segunda pasada es cuando se representa realmente el formulario.

Se debe evitar la creación de adaptadores que distingan entre las dos pasadas. Si es absolutamente necesario, es posible escribir un adaptador que pueda tener acceso al modo actual comprobando la propiedad AnalyzeMode de la clase WmlMobileTextWriter.

Representación predeterminada

Los pasos siguientes muestran la representación predeterminada de clases de adaptadores de páginas y formularios del conjunto de adaptadores de WML.

El adaptador de páginas realiza los pasos siguientes:

  1. Llama a los métodos BeginResponse y BeginFile para el sistema de escritura. El tipo de contenido es text/vnd.wap.wml.

  2. Escribe una etiqueta <wml> de apertura.

  3. Representa el formulario activo.

  4. Representa los formularios vinculados como parte de la misma baraja WML, si es posible.

  5. Escribe una etiqueta </wml> de cierre.

  6. Llama a los métodos EndFile y EndResponse.

El adaptador de formularios realiza los pasos siguientes:

  1. Establece el modo de análisis en el sistema de escritura.

  2. Llama al método BeginForm del sistema de escritura.

  3. Representa el contenido del formulario. Los resultados no se envían al dispositivo, sino que los analiza el sistema de escritura.

  4. Llama al método EndForm del sistema de escritura.

  5. Establece el modo activo en el sistema de escritura.

  6. Llama al método BeginForm del sistema de escritura.

  7. Representa el contenido del formulario.

  8. Llama al método EndForm del sistema de escritura.

Utilizar estilos

La clase WmlMobileTextWriter proporciona una serie de métodos auxiliares que ayudan a utilizar la información de estilos para representar contenido:

  • Los métodos EnterLayout y ExitLayout permiten a los adaptadores emitir marcado para iniciar y cerrar un bloque utilizando el formato de párrafo de un estilo dado.

  • Los métodos EnterFormat y ExitFormat permiten a los adaptadores emitir marcado para iniciar y cerrar un bloque utilizando el formato de carácter de un estilo dado.

  • El método ResetFormattingState permite a los adaptadores restablecer el estado predeterminado del formato.

Métodos de representación adaptable

La clase WmlMobileTextWriter proporciona una serie de métodos de alto nivel para la representación, como se muestra en la tabla siguiente.

Los adaptadores de WML deben usar estos métodos para representar contenido, ya que el sistema de escritura puede adaptar automáticamente los resultados de forma óptima basándose en las funciones del dispositivo de destino.

Para obtener información detallada acerca de cada uno de estos métodos, vea la documentación referente a la clase WmlMobileTextWriter.

Método del sistema de escritura

Descripción

RenderText

Representa un elemento de texto.

RenderImage

Representa un elemento de imagen.

RenderTextBox

Representa un elemento de cuadro de entrada de texto.

RenderEndHyperlink

Representa un elemento de hipervínculo.

Llama al método RenderText o RenderImage para representar texto o una imagen dentro del hipervínculo.

RenderBeginPostBack

RenderEndPostBack

Representa un elemento de devolución de datos.

Llama al método RenderText o RenderImage para representar texto o una imagen dentro de la devolución de datos.

RenderBeginSelect

RenderEndSelect

RenderSelectOption

Representa un elemento de lista de selección.

Llama al método RenderSelectOption para representar cada opción de la lista de selección.

AddFormVariable

Agrega una variable y un valor inicial para que se represente con el formulario. Cuando un dispositivo WML representa el formulario, inicializa la variable en el valor inicial especificado.

Además, la clase base WmlControlAdapter proporciona una serie de métodos de nivel superior, como se muestra en la tabla siguiente. Cada uno de estos métodos representa utilizando los métodos del sistema de escritura antes mencionados.

Método del adaptador

Descripción

RenderBeginLink

RenderEndLink

Representa un vínculo. El adaptador determina automáticamente cómo se representa el vínculo, de forma que representa los vínculos con formularios de la misma página como devoluciones de datos, y el resto de los vínculos como hipervínculos.

Llama al método RenderText o RenderImage en el sistema de escritura para representar texto o una imagen dentro del vínculo.

RenderLink

Representa un vínculo que contiene texto.

RenderPostBackEvent

Representa un evento de devolución de datos con el control como destino.

Representar menús

En algunos dispositivos basados en WML, un formulario formado por varios vínculos o delimitadores se representa mejor como un menú de elementos con <select> y <option>, con una interfaz de usuario (UI) para navegación mediante teclado numérico generada automáticamente. Un ejemplo de este tipo de dispositivo es un explorador Openwave UP.Browser.

El adaptador de formularios de WML puede representar un formulario como un menú si se compone de cero o más controles que se representan como texto estático, seguidos de uno o más controles que pueden representar elementos <select> y <option>.

Si la propiedad RendersWmlSelectsAsMenuCards de la clase MobileCapabilities establece en true, el dispositivo puede representar los elementos <select> como cartas de menú en lugar de como un cuadro combinado.

La propiedad CanCombineFormsInDeck se establece en true si el explorador puede tratar barajas que contengan varios formularios como cartas independientes. De este modo, el adaptador puede procesar varios formularios de la misma página como cartas de una sola baraja.

Representar controles de aceptación de formulario

Cuando un formulario representado incluye una interfaz de usuario para devolver el formulario al servidor, algunos dispositivos basados en WML requieren que la UI para el dispositivo especificado sea un elemento <do> al principio del formulario. Un ejemplo de este tipo de dispositivo es un explorador Openwave UP.Browser.

Cuando un dispositivo requiere que la interfaz de usuario utilice un elemento <do>, el adaptador de formularios comprueba si alguno de los controles del formulario requiere el envío de la UI y si alguno de ellos proporciona dicha interfaz. Para determinar este aspecto, el adaptador de formularios consulta a los adaptadores de cada uno de los controles del formulario.

Representar teclas programables

Algunos controles representan una interfaz de usuario que se puede asignar a una tecla programable de un dispositivo basado en WML. La propiedad RendersWmlDoAcceptsInline de la clase MobileCapabilities se establece en true si el dispositivo representa un elemento <do> de WML como un botón en línea en lugar de como una tecla programable.

Interfaz de usuario (IU) secundaria

El conjunto de adaptadores de WML admite una interfaz de usuario secundaria, que los controles utilizan para mostrar pantallas adicionales de la interfaz de usuario. Para utilizar la interfaz de usuario secundaria, un adaptador de controles ejecuta los pasos siguientes:

  1. En respuesta a alguna acción del usuario (normalmente en el método reemplazable HandlePostBackEvent), el adaptador de controles especifica el modo de UI secundaria estableciendo la propiedad SecondaryUIMode de la clase base WmlControlAdapter.

  2. Durante la representación, el control comprueba si se encuentra en modo de UI secundaria y, en ese caso, representa la interfaz de usuario secundaria apropiada.

  3. Como respuesta a la interacción del usuario en la interfaz de usuario secundaria, el adaptador de controles puede cambiar el modo de interfaz de usuario secundaria a otro valor, o puede salir de dicho modo llamando al método ExitSecondaryUIMode de la clase base WmlControlAdapter.

Funciones adicionales

Los dispositivos WML disponen también de funciones adicionales que se pueden usar para modificar la representación. Se puede obtener acceso a dichas funciones mediante el método HasCapability de la clase MobileCapabilities.

Vea también

Conceptos

Funcionalidad de conjuntos de adaptadores

Referencia

Tabla de funciones de dispositivos