Share via


Set di adattatori WML

Aggiornamento: novembre 2007

Il set di adattatori WML è costituito da classi che possono essere utilizzate per il rendering delle pagine Web ASP.NET per dispositivi mobili nei client che supportano WML v1.1 o WML v1.2. Alcuni metodi e proprietà potrebbero non essere inclusi nella presente documentazione. Nella tabella riportata di seguito sono elencate le classi di base incluse nel set di adattatori WML.

Set di adattatori per dispositivi WML

Spazio dei nomi delle classi di adattatori principali

Classe base astratta ControlAdapter

WmlControlAdapter

Classe HtmlFormAdapter

WmlFormAdapter

Classe astratta PageAdapter

WmlPageAdapter

Classe MobileTextWriter

WmlMobileTextWriter

I browser Openwave Up.Browser utilizzano un adattatore di pagina e un writer di testo diversi. Nella tabella riportata di seguito vengono elencate le classi di base utilizzate dal set di adattatori che supporta questi browser.

Set di adattatori per UP.Browser

Spazio dei nomi delle classi di adattatori principali

Classe base astratta ControlAdapter

WmlControlAdapter

Classe HtmlFormAdapter

WmlFormAdapter

Classe astratta PageAdapter

UpWmlPageAdapter

Classe MobileTextWriter

UpWmlMobileTextWriter

Nota:

Con UP.Browser 4.1 o UP.Browser 3.2, il metodo Redirect si comporta sempre come se il valore della proprietà SupportsRedirectWithCookie dell'oggetto HttpBrowserCapabilities fosse false, a meno che la proprietà Cookieless nella sezione SessionState del file Web.config non sia stata impostata in modo esplicito su true.

In ASP.NET 1.1 le opzioni per questa impostazione sono true o false, mentre in ASP.NET 2.0 le opzioni sono state estese e ora l'impostazione predefinita è AutoDetect. Se per l'applicazione Web l'attributo cookieless della sezione <sessionState> del file Web.config è impostato su un valore booleano, il metodo Redirect funzionerà come previsto per questi browser.

Selezione

Il set di adattatori WML è selezionato se la proprietà PreferredRenderingType della classe MobileCapabilities restituisce PreferredRenderingTypeWml11 o PreferredRenderingTypeWml12.

Rendering adattivo

Il set di adattatori WML è in grado di adattarsi in modo significativo alle varie funzionalità dei telefoni cellulari WML. Esso pertanto chiama effettivamente il metodo Render due volte per ciascun form e i relativi controlli figlio. Nella prima fase, il writer si trova nella modalità di analisi e utilizza tutte le chiamate ricevute per analizzare l'output del form. Nella seconda fase, viene eseguito il rendering effettivo del form.

Evitare la creazione di adattatori che distinguono le fasi. In caso di assoluta necessità, è possibile scrivere un adattatore in grado di accedere alla modalità corrente selezionando la proprietà AnalyzeMode della classe WmlMobileTextWriter.

Rendering predefinito

Nei passaggi descritti di seguito vengono illustrati i rendering predefiniti delle classi degli adattatori di pagina e di form nel set di adattatori WML.

L'adattatore di pagina utilizza la seguente procedura:

  1. Chiama i metodi BeginResponse e BeginFile per il writer. Il tipo di contenuto è text/vnd.wap.wml.

  2. Scrive un tag <wml> di apertura.

  3. Esegue il rendering del form attivo.

  4. Esegue, se possibile, il rendering dei form collegati appartenenti allo stesso deck.

  5. Scrive un tag </wml> di chiusura.

  6. Chiama i metodi EndFile e EndResponse.

L'adattatore di form utilizza la seguente procedura:

  1. Imposta il writer sulla modalità di analisi.

  2. Chiama il metodo BeginForm del writer.

  3. Esegue il rendering dei contenuti del form. I risultati non vengono inviati al dispositivo ma vengono analizzati dal writer.

  4. Chiama il metodo EndForm del writer.

  5. Imposta il writer sulla modalità di esecuzione.

  6. Chiama il metodo BeginForm del writer.

  7. Esegue il rendering dei contenuti del form.

  8. Chiama il metodo EndForm del writer.

Utilizzo degli stili

Nella classe WmlMobileTextWriter sono disponibili numerosi metodi di supporto che facilitano l'utilizzo di informazioni relative allo stile per il rendering del contenuto:

  • I metodi EnterLayout e ExitLayout consentono a un adattatore di generare il tag di inizio e di fine di un blocco utilizzando la formattazione di paragrafo di un determinato stile.

  • I metodi EnterFormat e ExitFormat consentono a un adattatore di generare il tag di inizio e di fine di un blocco utilizzando la formattazione dei caratteri di un determinato stile.

  • Il metodo ResetFormattingState consente a un adattatore di ripristinare lo stato predefinito della formattazione.

Metodi del rendering adattivo

Nella classe WmlMobileTextWriter sono disponibili numerosi metodi di alto livello per il rendering, come illustrato nella tabella riportata di seguito.

È necessario che gli adattatori WML utilizzino questi metodi per il rendering del contenuto, in quanto il writer è in grado di adattare automaticamente l'output nel modo ottimale in base alle funzionalità del dispositivo di destinazione.

Per informazioni dettagliate su ciascuno di questi metodi, vedere la documentazione relativa alla classe WmlMobileTextWriter.

Metodo del writer

Descrizione

RenderText

Esegue il rendering di un elemento di testo.

RenderImage

Esegue il rendering di un elemento di immagine.

RenderTextBox

Esegue il rendering di un elemento della casella di immissione testo.

RenderEndHyperlink

Esegue il rendering di un elemento di collegamento ipertestuale.

Chiama il metodo RenderText o RenderImage per il rendering del testo o di un'immagine all'interno del collegamento ipertestuale.

RenderBeginPostBack

RenderEndPostBack

Esegue il rendering di un elemento di postback.

Chiama il metodo RenderText o RenderImage per il rendering del testo o di un'immagine all'interno del postback.

RenderBeginSelect

RenderEndSelect

RenderSelectOption

Esegue il rendering di un elemento di un elenco di selezione.

Chiama il metodo RenderSelectOption per il rendering di ciascuna opzione dell'elenco di selezione.

AddFormVariable

Aggiunge una variabile e un valore iniziale di cui eseguire il rendering insieme al form. Quando esegue il rendering del form, un dispositivo WML inizializza la variabile sul valore iniziale specificato.

Nella classe base WmlControlAdapter inoltre sono disponibili alcuni metodi di alto livello, come indicato nella tabella riportata di seguito. Ognuno di questi metodi esegue il rendering utilizzando i metodi del writer elencati precedentemente.

Metodo dell'adattatore

Descrizione

RenderBeginLink

RenderEndLink

Esegue il rendering di un collegamento. L'adattatore determina automaticamente la procedura da utilizzare, eseguendo il rendering dei collegamenti ai form nella stessa pagina come postback e il rendering degli altri collegamenti come collegamenti ipertestuali.

Chiama il metodo RenderText o RenderImage nel writer per il rendering del testo o di un'immagine all'interno del collegamento.

RenderLink

Esegue il rendering di un collegamento con testo interno.

RenderPostBackEvent

Esegue il rendering di un evento postback con il controllo come destinazione.

Rendering dei menu

In alcuni dispositivi WML è consigliabile eseguire il rendering di un form costituito da più collegamenti o ancoraggi come menu di voci utilizzando gli elementi <select> e <option>, con un'interfaccia utente con tasti di spostamento generata automaticamente. I browser Openwave Up.Browser sono un esempio di questo tipo di dispositivo.

L'adattatore di form WML è in grado di eseguire il rendering di un form come menu se il form include o meno più controlli che vengono visualizzati come testo statico, seguiti da uno o più controlli che possono eseguire il rendering di elementi <select> e <option>.

Se la proprietà RendersWmlSelectsAsMenuCards della classe MobileCapabilities è impostata su true, il dispositivo può eseguire il rendering degli elementi <select> come schede di menu anziché come casella combinata.

La proprietà CanCombineFormsInDeck è impostata su true se il browser è in grado di gestire deck contenenti più form come schede separate. L'adattatore può restituire più form dalla stessa pagina come schede di un singolo deck.

Rendering dei controlli di accettazione dei form

Se in un form di cui è stato eseguito il rendering è inclusa un'interfaccia utente per la restituzione del form al server, alcuni dispositivi WML richiedono che l'interfaccia utente del dispositivo specificato venga indicata come elemento <do> all'inizio del form. I browser Openwave Up.Browser sono un esempio di questo tipo di dispositivo.

Se un dispositivo richiede che l'interfaccia utente utilizzi un elemento <do>, l'adattatore di form verifica se i controlli del form richiedono l'interfaccia utente per l'invio e se forniscono tale interfaccia. Per determinare tali informazioni, l'adattatore di form esegue le query agli adattatori di ciascun controllo del form.

Rendering per tasti softkey

Alcuni controlli eseguono il rendering dell'interfaccia utente di cui è possibile eseguire il mapping a un tasto softkey in un dispositivo WML. La proprietà RendersWmlDoAcceptsInline della classe MobileCapabilities è impostata su true se il dispositivo esegue il rendering di un elemento <do> WML come pulsante inline anziché come tasto softkey.

Interfaccia utente secondaria

Il set di adattatori WML supporta un'interfaccia utente secondaria utilizzata dai controlli per visualizzare schermate aggiuntive dell'interfaccia utente. Per utilizzare un'interfaccia utente secondaria, un adattatore di controllo effettua la seguente procedura:

  1. In risposta all'interazione di un utente, in genere nel metodo HandlePostBackEvent di cui è possibile eseguire l'override, l'adattatore di controllo specifica la modalità di interfaccia utente secondaria impostando la proprietà SecondaryUIMode della classe base WmlControlAdapter.

  2. Durante il rendering, il controllo verifica se è attiva la modalità di interfaccia utente secondaria ed esegue il rendering dell'interfaccia utente secondaria appropriata.

  3. In risposta all'interazione dell'utente dall'interfaccia utente secondaria, l'adattatore di controllo potrebbe cambiare la modalità di interfaccia utente secondaria impostandola su un altro valore oppure potrebbe uscire da tale modalità chiamando il metodo ExitSecondaryUIMode della classe base WmlControlAdapter.

Funzionalità aggiuntive

Nei dispositivi WML sono disponibili funzionalità aggiuntive che consentono di modificare il rendering. Queste funzionalità sono accessibili tramite il metodo HasCapability della classe MobileCapabilities.

Vedere anche

Concetti

Funzionalità dei set di adattatori

Riferimenti

Tabella delle funzionalità di dispositivo