Supporto del modello di dispositivo
Aggiornamento: novembre 2007
Il supporto del modello di dispositivo viene fornito nell'ambito del costrutto DeviceSpecific/Choice. La scrittura di controlli mobili ASP.NET che rendono disponibili modelli di dispositivo è molto simile alla scrittura di controlli server ASP.NET basati su modelli. È tuttavia necessario tenere presenti le caratteristiche specifiche dei controlli mobili indicate di seguito:
Ogni controllo mobile che supporta i modelli di dispositivo implementa l'interfaccia ITemplateable. È un'interfaccia di indicazione priva di metodi.
I controlli che supportano i modelli di dispositivo devono includere una modalità di rendering predefinito affinché il controllo possa eseguire il rendering sui dispositivi anche se non sono stati definiti o specificati modelli di dispositivo.
Gli sviluppatori del controllo devono scegliere la modalità di trattamento dei modelli di dispositivo durante il rendering. È possibile, ad esempio, passare a una modalità basata esclusivamente su modelli se è stato definito e scelto un qualunque modello di dispositivo. In questo caso il controllo esegue le operazioni di rendering utilizzando i modelli forniti. Il controllo List è un esempio di questo tipo di controllo. In alternativa, mediante il controllo è possibile utilizzare i modelli all'interno di un semplice processo di aggiunta. Se viene definito e scelto un modello specifico, è possibile utilizzarlo per aggiungere o sostituire parti del rendering predefinito. Il controllo Form è un esempio di controllo che mostra questo comportamento.
Invece di esporre le proprietà ITemplate, un controllo mobile accede a un insieme di modelli definiti. Nella classe base MobileControl sono inclusi due membri che consentono a un controllo di utilizzare modelli di dispositivo:
La proprietà IsTemplated indica se per il controllo sono stati definiti e scelti modelli, come illustrato nell'esempio di codice riportato di seguito.
if (mobileControl.IsTemplated) { return true; }
Il metodo GetTemplate restituisce il modello di dispositivo con il nome specificato oppure null se non è stato definito alcun modello. Nell'esempio riportato di seguito vengono illustrate le modalità di recupero dei modelli di dispositivo e di verifica dello stato null.
public override void CreateDefaultTemplatedUI(bool doDataBind) { ITemplate headerTemplate = GetTemplate(Constants.HeaderTemplateTag); ITemplate footerTemplate = GetTemplate(Constants.FooterTemplateTag); ITemplate scriptTemplate = GetTemplate(Constants.ScriptTemplateTag); if (headerTemplate != null) { _headerContainer = new TemplateContainer(); headerTemplate.InstantiateIn(_headerContainer); _headerContainer.EnablePagination = false; Controls.AddAt(0, _headerContainer); } if (footerTemplate != null) { _footerContainer = new TemplateContainer(); footerTemplate.InstantiateIn(_footerContainer); _footerContainer.EnablePagination = false; Controls.Add(_footerContainer); } if (scriptTemplate != null) { _scriptContainer = new TemplateContainer(); scriptTemplate.InstantiateIn(_scriptContainer); _scriptContainer.EnablePagination = false; } }
Nella tabella riportata di seguito viene fornita la descrizione dei modelli disponibili con il controllo Form. Il controllo Form supporta sia insiemi di modelli specifici di un dispositivo che insiemi di modelli indipendenti dai dispositivi.
Modello |
Descrizione |
---|---|
Modello di intestazione |
Il rendering del modello dell'intestazione viene eseguito nella parte superiore del form. Se il form viene impaginato su più schermate, ogni schermata include l'intestazione. Il modello dell'intestazione può essere incluso in un insieme di modelli indipendenti dal dispositivo. Se l'insieme di modelli è indipendente dal dispositivo, il modello dell'intestazione contiene controlli mobili. |
Modello di piè di pagina |
Il rendering del modello del piè di pagina viene eseguito nella parte inferiore del form. Se il form viene impaginato su più schermate, ogni schermata include il piè di pagina. Il modello del piè di pagina può essere incluso in un insieme di modelli indipendenti dal dispositivo. Se l'insieme di modelli è indipendente dal dispositivo, il modello del piè di pagina contiene controlli mobili. |
Modello di script |
Il rendering del modello dello script viene eseguito nella parte superiore del form. Se il form viene impaginato su più schermate, ogni schermata include il modello dello script. Il codice incluso nel modello di script viene aggiunto immediatamente dopo il tag <head> di apertura nei dispositivi HTML e immediatamente dopo il tag <card> di apertura nei dispositivi WML. |
I modelli sono inoltre disponibili a livello di codice. Per ulteriori informazioni, vedere le proprietà Footer, Header e Script.
Vedere anche
Concetti
Insiemi di modelli e controlli basati su modelli
Implementazione del rendering basato su modelli
Altre risorse
Aggiunta di nuovi adattatori di dispositivo e supporto per dispositivi