Interacción entre control y adaptador

Actualización: noviembre 2007

Durante el ciclo de vida de los controles de ASP.NET Mobile y sus adaptadores asociados se producen dos tipos de interacción: entre los controles y los adaptadores de dispositivos, y entre las páginas y los adaptadores de páginas.

Durante el ciclo de vida de los controles móviles, se producen las siguientes interacciones entre los controles y su adaptador de dispositivos asociado:

  1. En primer lugar, ASP.NET comprueba si hay una copia de la página en la memoria caché. Si existe, la página de la memoria caché se envía al cliente. Para obtener más información acerca del almacenamiento en memoria caché, vea la sección "Almacenar resultados en la memoria caché" del tema Procedimientos recomendados para representar escritores de texto móviles.

  2. Se crea un control. En el primer intento de acceso a la propiedad Adapter del control, se elige un adaptador de controles y se crea una nueva instancia del mismo, tal y como se describe en la sección "Comprender el proceso de selección de adaptadores de dispositivos" del tema Asignaciones de adaptador.

    La propiedad Control del adaptador de dispositivo de control se establece cuando se crea el nuevo adaptador.

  3. Si la página está en la memoria caché, llamará al adaptador para determinar si es necesario modificar el contenido de la memoria caché con encabezados adicionales.

  4. Se llama al método OnInit del control. La implementación de la clase base MobileControl llama al método OnInit del adaptador de dispositivo de control.

  5. Se carga el estado de vista privado del control, si existe. Si los adaptadores de dispositivos almacenan cualquier estado específico del dispositivo para el control, la implementación de la clase base MobileControl del método LoadPrivateViewState llamará al método LoadAdapterState del adaptador de dispositivo de control.

  6. Se llama al método OnLoad del control. La implementación de la clase base MobileControl llama al método OnLoad del adaptador de dispositivo de control.

  7. Si el control implementa la interfaz IPostBackEventHandler y recibe un evento de devolución de datos, se llama al método RaisePostBackEvent del control. Si los eventos enviados al control pueden variar en función del dispositivo de destino, la implementación del control de este método llama al método HandlePostBackEvent del adaptador de dispositivo de control. El método HandlePostBackEvent devuelve true o false para indicar si el adaptador de dispositivos ha controlado el evento.

  8. Se guarda el estado de vista privado del control, si es aplicable. La implementación de la clase base MobileControl del método SavePrivateViewState llama al método SaveAdapterState del adaptador de dispositivo de control en el caso de que el adaptador tenga que almacenar algún estado específico del dispositivo para el control.

  9. Se llama al método OnPreRender del control. La implementación de la clase base MobileControl llama al método OnPreRender del adaptador de dispositivo de control.

  10. Se llama al método Render del control. La implementación de la clase base MobileControl llama al método Render del adaptador de control.

  11. Se llama al método OnUnload del control. La implementación de la clase base MobileControl llama al método OnUnload del adaptador de dispositivo de control.

Aunque la clase MobilePage hereda de la clase Page de .NET Framework en lugar de la clase MobileControl, el comportamiento de la clase MobilePage en lo que respecta al adaptador es muy similar al de la clase MobileControl.

Los adaptadores de página móvil de ASP.NET, como ChtmlPageAdapter, HtmlPageAdapter, WmlPageAdapter o XhtmlPageAdapter, implementan la interfaz IPageAdapter (que, a su vez, implementa la interfaz IControlAdapter). Por lo tanto, la mayor parte del ciclo de vida de un adaptador de páginas es similar al de un adaptador de controles. Una página móvil y su adaptador de dispositivos interaccionan con respecto a la clase Page, y siguen estos pasos durante su ciclo de vida:

  1. ASP.NET crea una página. En el primer intento de acceso a la propiedad Adapter de la página, se elige un adaptador de controles y se crea una nueva instancia del mismo, tal y como se describe en la sección "Comprender el proceso de selección de adaptadores de dispositivos" del tema Asignaciones de adaptador. La propiedad Page del adaptador de página se establece cuando se crea el adaptador.

  2. Se llama al método OnInit de la página. La implementación de la clase base MobilePage llama al método OnInit del adaptador de página.

  3. Se llama al método OnDeviceCustomize de la página. La implementación de la clase base MobilePage llama al método OnDeviceCustomize del adaptador de página.

  4. Para determinar la devolución de datos de la página, si procede, la clase base MobilePage llama al método DeterminePostBackMode del adaptador de página. Este método tiene la oportunidad de inspeccionar y modificar las variables de la solicitud. Asimismo, este método es el encargado de convertir la información de estado de vista almacenada en una variable de formulario, si no se ha hecho ya.

  5. Se carga el estado de vista privado de la página, si es aplicable. En el caso de que el adaptador almacene cualquier estado de vista específico del dispositivo para la página, la clase base MobilePage llamará al método LoadAdapterState del adaptador de página.

  6. Se llama al método OnLoad de la página. La implementación de la clase base MobilePage llama al método OnLoad del adaptador de página.

  7. Se guarda el estado de vista privado de la página, si es aplicable. En el caso de que el adaptador tenga que almacenar cualquier estado de vista específico del dispositivo para la página, la clase base MobilePage llamará al método SaveAdapterState del adaptador de página.

  8. La clase base MobilePage llama al método SaveViewState del adaptador de página. Este método es el encargado de garantizar que el estado pasado como parámetro se serializa en la página escrita.

  9. Durante la paginación, la clase base MobilePage tiene acceso a la propiedad OptimumPageWeight del adaptador de página. El adaptador devuelve una proporción de página que es apropiada para el dispositivo de destino.

  10. Se llama al método OnPreRender de la página. La implementación de la clase base MobilePage llama al método OnPreRender del adaptador de página.

  11. Se crea una instancia de sistema de escritura para capturar los resultados de la página. La clase base MobilePage llama al método CreateTextWriter del adaptador de página, que debe devolver un sistema de escritura de texto específico del destino.

  12. Se llama al método Render de la página. La implementación de la clase base MobilePage llama al método Render del adaptador de página. En algún punto de la representación, el adaptador también es el encargado del acceso al estado de vista privado de la página y de escribirlo mediante la propiedad ClientViewState de la página.

  13. Se llama al método OnUnload de la página. La implementación de la clase base MobilePage llama al método OnUnload del adaptador de página.

Adiciones de comunidad

Mostrar: