Condividi tramite


Interazione tra controlli e adattatori

Aggiornamento: novembre 2007

Due tipi di interazioni si verificano durante il ciclo di vita dei controlli mobili ASP.NET e gli adattatori a questi associati, ovvero l'interazione tra controlli e adattatori di dispositivo e l'interazione tra pagine e adattatori di pagina.

Controlli e adattatori di dispositivo dei controlli

Durante il ciclo di vita di un controllo mobile, tra un controllo e l'adattatore di dispositivo ad esso associato si verificano le seguenti interazioni:

  1. Viene innanzitutto verificato da parte di ASP.NET che sia presente una copia della pagina nella cache. Se ne esiste una, la pagina memorizzata nella cache verrà inviata la client. Per ulteriori informazioni sulla memorizzazione nella cache, vedere la sezione "Memorizzazione nella cache dell'output" in Suggerimenti per ottimizzare il rendering dei writer mobili di testo.

  2. Viene creato un controllo. Al primo tentativo di accesso alla proprietà Adapter del controllo, viene scelto un adattatore di controllo e ne viene creata una nuova istanza, come descritto nella sezione "Informazioni sul processo di selezione degli adattatori di dispositivo" in Mapping degli adattatori.

    La proprietà Control dell'adattatore di dispositivo del controllo viene impostata al momento della creazione di un nuovo adattatore.

  3. La pagina, se memorizzata nella cache, chiama l'adattatore per determinare se è necessario modificare la memorizzazione nella cache in base alle intestazioni aggiuntive.

  4. Viene chiamato il metodo OnInit del controllo. Il metodo OnInit dell'adattatore di dispositivo del controllo viene chiamato dall'implementazione della classe base MobileControl.

  5. Viene caricato lo stato di visualizzazione privato del controllo, se disponibile. L'implementazione della classe base MobileControl del metodo LoadPrivateViewState chiama il metodo LoadAdapterState dell'adattatore di dispositivo di controllo nel caso in cui sia necessario per l'adattatore archiviare uno stato specifico di un dispositivo per il controllo.

  6. Viene chiamato il metodo OnLoad del controllo. Il metodo OnLoad dell'adattatore di dispositivo del controllo viene chiamato dall'implementazione della classe base MobileControl.

  7. Se il controllo implementa l'interfaccia IPostBackEventHandler e riceve un evento postback, verrà chiamato il metodo RaisePostBackEvent del controllo. Se gli eventi inviati al controllo possono variare in base al dispositivo di destinazione, l'implementazione del controllo di questo metodo chiamerà il metodo HandlePostBackEvent dell'adattatore di dispositivo del controllo. Il metodo HandlePostBackEvent restituisce il valore true o false, a indicare se l'evento è stato gestito o meno dall'adattatore di dispositivo.

  8. Viene salvato lo stato di visualizzazione privata del controllo, se disponibile. L'implementazione della classe base MobileControl del metodo SavePrivateViewState chiama il metodo SaveAdapterState dell'adattatore di dispositivo di controllo nel caso in cui sia necessario per l'adattatore archiviare uno stato specifico di un dispositivo per il controllo.

  9. Viene chiamato il metodo OnPreRender del controllo. Il metodo OnPreRender dell'adattatore di dispositivo del controllo viene chiamato dall'implementazione della classe base MobileControl.

  10. Viene chiamato il metodo Render del controllo. Il metodo Render dell'adattatore di dispositivo del controllo viene chiamato dall'implementazione della classe base MobileControl.

  11. Viene chiamato il metodo OnUnload del controllo. Il metodo OnUnload dell'adattatore di dispositivo del controllo viene chiamato dall'implementazione della classe base MobileControl.

Pagine e adattatori di pagina

Anche se la classe MobilePage eredita dalla classe Page di .NET Framework anziché dalla classe MobileControl, il comportamento correlato all'adattatore della classe MobilePage è molto simile a quello della classe MobileControl.

Gli adattatori di pagine per dispositivi mobili in ASP.NET, ad esempio ChtmlPageAdapter, HtmlPageAdapter, WmlPageAdapter o XhtmlPageAdapter, implementano l'interfaccia IPageAdapter, che a sua volta implementa l'interfaccia IControlAdapter. In questo modo, molti aspetti del ciclo di vita di una pagina sono simili agli aspetti del ciclo di vita di un adattatore di controllo. Una pagina per dispositivi mobili e il relativo adattatore di dispositivo interagiscono specificamente con la classe Page. Le fasi del ciclo di vita della pagina e del relativo adattatore sono le seguenti:

  1. Viene creata una pagina da ASP.NET. Al primo tentativo di accesso alla proprietà Adapter della pagina, viene scelto un adattatore di pagina e ne viene creata un'istanza, come descritto nella sezione "Informazioni sul processo di selezione degli adattatori di dispositivo" in Mapping degli adattatori. La proprietà Page dell'adattatore di pagina viene impostata al momento della creazione dell'adattatore.

  2. Viene chiamato il metodo OnInit della pagina. Il metodo OnInit dell'adattatore di pagina viene chiamato dall'implementazione della classe base MobilePage.

  3. Viene chiamato il metodo OnDeviceCustomize della pagina. Il metodo OnDeviceCustomize dell'adattatore di pagina viene chiamato dall'implementazione della classe base MobilePage.

  4. Per determinare l'eventuale modalità di postback di una pagina, la classe base MobilePage chiama il metodo DeterminePostBackMode dell'adattatore di pagina. Questo metodo è in grado di verificare e modificare le variabili per una richiesta. Questo metodo è anche responsabile della riconversione in una variabile del form di qualsiasi informazione mantenuta sullo stato di visualizzazione, nel caso in cui le informazioni non siano già state riconvertite in una variabile.

  5. Viene caricato lo stato di visualizzazione privata della pagina, se disponibile. La classe base MobilePage chiama il metodo LoadAdapterState dell'adattatore di pagina, nel caso in cui l'adattatore archivi uno stato di visualizzazione specifico di un dispositivo per la pagina.

  6. Viene chiamato il metodo OnLoad della pagina. Il metodo OnLoad dell'adattatore di pagina viene chiamato dall'implementazione della classe base MobilePage.

  7. Viene salvato lo stato di visualizzazione privata della pagina, se disponibile. La classe base MobilePage chiama il metodo SaveAdapterState dell'adattatore di pagina, nel caso in cui sia necessario per l'adattatore archiviare uno stato di visualizzazione specifico di un dispositivo per la pagina.

  8. Il metodo SaveViewState dell'adattatore di pagina viene chiamato dalla classe base MobilePage. Questo metodo ha la responsabilità di verificare che lo stato passato come parametro sia serializzato nella pagina scritta.

  9. Durante l'impaginazione, la classe base MobilePage accede alla proprietà OptimumPageWeight dell'adattatore di pagina. L'adattatore restituisce un peso della pagina adatto al dispositivo di destinazione.

  10. Viene chiamato il metodo OnPreRender della pagina. Il metodo OnPreRender dell'adattatore di pagina viene chiamato dall'implementazione della classe base MobilePage.

  11. Viene creata un'istanza del writer per l'acquisizione dell'output della pagina. La classe base MobilePage chiama il metodo CreateTextWriter dell'adattatore di pagina, che deve restituire un writer di testo specifico della destinazione.

  12. Viene chiamato il metodo Render della pagina. Il metodo Render dell'adattatore di pagina viene chiamato dall'implementazione della classe base MobilePage. A un certo punto, durante l'esecuzione del rendering, l'adattatore diventa anche responsabile dell'accesso e della scrittura dello stato di visualizzazione privato della pagina mediante la proprietà ClientViewState della pagina.

  13. Viene chiamato il metodo OnUnload della pagina. Il metodo OnUnload dell'adattatore di pagina viene chiamato dall'implementazione della classe base MobilePage.

Vedere anche

Concetti

Mapping degli adattatori

Tipi di adattatori

Altre risorse

Aggiunta di nuovi adattatori di dispositivo e supporto per dispositivi