Condividi tramite


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

Controlli utente

Composizione specifica di dispositivo

Creazione di controlli Web mobili personalizzati

Altre risorse

Creazione di controlli mobili personalizzati