2008-09-15 11 views
3

J'ai découvert que les fichiers d'habillage ne fonctionnent que s'ils sont placés dans le dossier des thèmes racine du dossier App_Themes. Par exemple, si vous avez 2 thèmes dans le dossier App_Themes, vous ne pouvez pas ajouter un autre sous-dossier au dossier de thème et placer un fichier d'enveloppe séparé dans ce sous-dossier.ASP.NET 2.0: Les fichiers habillages ne fonctionnent que lorsqu'ils sont placés dans le dossier des thèmes racine?

Ce n'est pas vraiment une limitation, mais cela vous donnerait plus de flexibilité pour personnaliser davantage une application.

Quelqu'un peut-il expliquer pourquoi ce comportement se produit comme il le fait dans 2.0?

Répondre

1

Votre fichier skin doit-il porter l'extension .skin? Je les appelle toujours theme.skin et leur donne le même nom que le dossier. Par exemple, dans col2 Theme, le dossier est

App_Themes \ col2 et contient le code CSS et col2.skin

Microsoft est votre meilleure référence:

1

Thèmes en ASP.Net ne fournissent pas la capacité de choisissez parmi "sous-thèmes". Toutefois, vous pouvez définir les SkinID dans vos fichiers de skin. Par exemple, dans votre .skin:

<asp:DataList runat="server" SkinID="DataListColor" Width="100%"> 
    <ItemStyle BackColor="Blue" ForeColor="Red" /> 
</asp:DataList> 

<asp:DataList runat="server" SkinID="DataListSmall" Width="50%"> 
</asp:DataList> 

Ensuite, lorsque vous voulez appeler l'un d'entre eux, vous spécifiez simplement qui SkinID que vous voulez pour votre datalist.