Partager via


Contrôles composites

Mise à jour : novembre 2007

ASP.NET et les contrôles mobiles ASP.NET vous permettent de créer de nouveaux contrôles en combinant les contrôles existants. Par exemple, pour encapsuler un certain nombre de contrôles mobiles dans un contrôle, vous pouvez créer un contrôle mobile composite. Vous pouvez créer un contrôle composite comme un contrôle utilisateur dans un fichier .ascx, ou comme un contrôle personnalisé strictement rattaché à un fichier .dll.

Indépendance du langage

Vous devez créer des contrôles utilisateur dans un seul langage, tel que C# ou Visual Basic. Lorsque vous créez un contrôle composite, vous pouvez combiner des contrôles créés dans différents langages. Ainsi, vous pouvez combiner l'exemple CarControl en C# décrit dans la rubrique Contrôles utilisateur avec un nouveau contrôle écrit en Visual Basic, qui inventorie toutes les voitures correspondant à des caractéristiques spécifiques.

Composition générale

Les contrôles composites peuvent hériter de n'importe quelle classe de contrôle, y compris la classe de base MobileControl de la page Web mobile ou la classe de contrôle Panel de la page Web mobile. Pour plus d'informations sur l'héritage, consultez Extension de fonctionnalité par héritage.

Les adaptateurs des classes MobileControl et Panel affichent automatiquement tous les contrôles enfants, et offrent par conséquent la prise en charge nécessaire au niveau de l'adaptateur pour les contrôles composites. Si votre contrôle composite hérite d'un autre contrôle mobile, vous devez fournir un adaptateur qui affiche les contrôles enfants.

Utilisation de contrôles composites sur une page Web mobile

Après avoir créé un contrôle mobile composite, vous pouvez l'utiliser sur une page Web mobile de plusieurs manières :

  • Si le contrôle est un contrôle utilisateur, enregistrez le préfixe de balise, le nom de balise et le fichier .ascx sur la page avec une directive @ Register, comme illustré dans l'exemple suivant :

    <%@ Register TagPrefix="myCompany" TagName="CarControl" Src="~/CarControl.ascx" %>

  • Si le contrôle est un contrôle personnalisé, enregistrez le préfixe de balise et l'assembly sur la page avec une syntaxe différente pour la directive @ Register :

    <%@ Register TagPrefix="myComany" Namespace="company.MobileControls" Assembly="company.MobileControls" %>

Dans la page, vous pouvez créer le contrôle de façon déclarative dans votre page, comme dans cet exemple :

<myCompany:CarControl id="myCarCtl" />

Voir aussi

Concepts

Contrôles utilisateur

Composition spécifique au périphérique

Écriture de vos propres contrôles mobiles Web

Autres ressources

Création de contrôles mobiles personnalisés