Controlli compositi
Aggiornamento: novembre 2007
Sia ASP.NET che i controlli mobili ASP.NET consentono di creare nuovi controlli combinando controlli esistenti. Se si desidera, ad esempio, incapsulare un determinato numero di controlli mobili in un unico controllo, è possibile creare un controllo mobile composto. È possibile creare un controllo composito come controllo utente in un file ascx o come controllo personalizzato completamente contenuto in un file dll.
Indipendenza del linguaggio
I controlli utente devono essere creati in un unico linguaggio, ad esempio C# o Visual Basic. Quando si crea un controllo composito, è possibile combinare controlli creati in linguaggi diversi. È ad esempio possibile combinare l'esempio di CarControl in C# descritto in Controlli utente con un nuovo controllo scritto in Visual Basic che crea un inventario di tutte le automobili con le caratteristiche specificate.
Composizione generale
I controlli compositi possono ereditare da qualsiasi classe di controlli, inclusa la classe base MobileControl per pagine Web per dispositivi mobili o la classe del controllo Panel per pagine Web per dispositivi mobili. Per ulteriori informazioni sull'ereditarietà, vedere Estensione di funzionalità mediante l'ereditarietà.
Gli adattatori per le classi MobileControl e Panel eseguono automaticamente il rendering di tutti i controlli figlio, fornendo così il supporto necessario per i controlli compositi. Se il controllo composito eredita da un altro controllo mobile, è necessario fornire un adattatore che esegua il rendering dei controlli figlio.
Utilizzo di controlli compositi in una pagina Web per dispositivi mobili
Dopo aver creato un controllo mobile composito, è possibile utilizzarlo in una pagina Web per dispositivi mobili nei seguenti modi:
Se il controllo è un controllo utente, registrare il prefisso di tag, il nome di tag e il file ascx nella pagina con una direttiva @ Register, come illustrato nell'esempio riportato di seguito:
<%@ Register TagPrefix="myCompany" TagName="CarControl" Src="~/CarControl.ascx" %>
Se il controllo è un controllo personalizzato, registrare l'assembly e il prefisso di tag nella pagina utilizzando una sintassi diversa per la direttiva @ Register:
<%@ Register TagPrefix="myComany" Namespace="company.MobileControls" Assembly="company.MobileControls" %>
Nella pagina è possibile creare il controllo in modo dichiarativo come illustrato nell'esempio riportato di seguito:
<myCompany:CarControl id="myCarCtl" />
Vedere anche
Concetti
Composizione specifica di dispositivo
Creazione di controlli Web mobili personalizzati