2012-09-06 3 views
0

J'essaye de réaliser quelque chose comme ceci dans un contrôle de serveur. Je souhaite savoir comment implémenter ce contrôle serveur MyNewControl pour accepter ces conteneurs de modèle. Je souhaite savoir comment implémenter ce contrôle serveur MyNewControl. Je voudrais qu'ils permettent un contenu plus complexe que de simplement contenir une étiquette.
Le but est de pouvoir choisir quel template je veux que le contrôle rende.Comment contenir des sections de HTML et d'autres contrôles dans un contrôle serveur?

J'ai regardé autour et je ne pouvais pas trouver quelque chose qui me dit quelle partie de ASP.NET qui supporte ce que je cherche.

+0

Voulez-vous utiliser des modèles (qui sont liés à une source de données) ou simplement intégrer d'autres contrôles dans les vôtres via le balisage? Dans le cas où vous avez besoin de la deuxième chose: http://stackoverflow.com/questions/7527573. –

Répondre

3

Si l'objectif est de choisir le contenu à afficher, vous pouvez utiliser le contrôle ASP.NET MultiView intégré au lieu d'écrire le vôtre.

par exemple. ASPX Markup:

<asp:MultiView ID="multiExample" runat="server"> 
    <asp:View ID="viewOne" runat="server"> 
    <h1>This is my first view</h1> 
    </asp:View> 
    <asp:View ID="viewTwo" runat="server"> 
    <h1>This is my second view</h1> 
    </asp:View> 
</asp:MultiView> 

code C# code-behind pour la commutation entre les "modèles":

if (condition1) 
    { 
    multiExample.SetActiveView(viewOne); 
    } 
    else 
    { 
    multiExample.SetActiveView(viewTwo); 
    } 

Si vous souhaitez savoir comment créer un contrôle utilisateur basé sur un modèle à partir de zéro, il y a un tutoriel MSDN ici: http://msdn.microsoft.com/en-us/library/36574bf6(v=vs.100).aspx

+0

Je suis content que vous l'ayez dit de cette façon ... Je cherche essentiellement à créer un contrôle personnalisé similaire à 'MultiView' - comment implémenter mes propres tags internes (comme' View' dans votre exemple) . – BeemerGuy

+0

Les "tags internes" auxquels vous faites référence sont des "templates". Le lien à la fin de ma réponse montre comment créer un contrôle utilisateur basé sur un modèle (c.-à-d. Un contrôle utilisateur avec lequel vous pouvez utiliser les "tags internes") – tristankoffee

+0

Oui, mais je cherche à faire un contrôle serveur =) – BeemerGuy

Questions connexes