2009-03-04 7 views
0

Y a-t-il un moyen d'utiliser un contrôle utilisateur spécifique en fonction du thème utilisé par le site?Basé sur un thème usercontrol asp.net

Scénario: J'utilise des thèmes dans mon projet asp.net. Je vais avoir la même base de code et l'apparence différente et donc en utilisant des thèmes & peaux. Maintenant, le problème est que si je veux avoir différents en-têtes & footers (qui sont usercontrols) selon le type de site, comment pouvons-nous faire avec l'aide de thèmes.

Répondre

0

Oui, les hiérarchies de contrôle peuvent être modifiées avec des thèmes.

Ceci est rendu possible par ITemplate propriétés Themeable.

Si, par exemple, vous avez eu un contrôle personnalisé qui a simplement un thématisable Table des matières propriété vous pourriez dire:

<custom:MyThemeableControl runat="server"> 
    <Contents> 
    ... any valid *.skin markup here 
    </Contents> 
</custom:MyThemeableControl> 

Maintenant, vous pourriez échanger les contrôles à l'intérieur contenu pour différents thèmes comme suit: - pour ThemeA vous auriez la peau suivante:

<custom:MyThemeableControl runat="server"> 
    <Contents> 
     <asp:Button runnat="server" /> 
    </Contents> 
</custom:MyThemeableControl> 

Et pour ThemeB vous auriez le fol peau Lowing:

<custom:MyThemeableControl runat="server"> 
    <Contents> 
     <asp:TextBox runnat="server" /> 
    </Contents> 
</custom:MyThemeableControl> 

Puis cette page rendrait un Bouton sous ThemeA et un TextBox sous ThemeB:

<@Page Theme="ThemeA"> 
<custom:MyThemeableControl runat="server" /> 

<@Page Theme="ThemeB"> 
<custom:MyThemeableControl runat="server" /> 
Questions connexes