2009-11-13 5 views
0

J'ai utilisé des thèmes pendant un certain temps, et en retard lorsque j'essayais de refactoriser mon code, une pensée m'est venue à l'esprit. Mon thème est toujours divisé en deux parties, une qui guide les problèmes de mise en page de base et l'autre qui guide les couleurs, les images, etc. Chaque fois, nous devons concevoir pour un nouveau client, nous changeons de thème et nous avons terminé. Cependant, le problème caché ici est que nous devons faire une copie de la mise en page css dans chaque thème. Un exemple typique de mon dossier thèmes seraient: App_Themes - Par défaut - LayoutCSS - ColorCSS - Images - Client1 - LayoutCSS - ColorCSS_Client1 - Images - Client2 - LayoutCSS - ColorCSS_Client2 - ImagesThèmes ASP.NET x.x (suppression de la duplication)

Si vous remarquez, LayoutCSS est répété dans tous les thèmes. Un moyen simple d'éliminer la duplication est de le retirer de App_Themes et de le placer dans un dossier séparé, et de le référencer à partir de la page principale. L'inconvénient de cette approche est que, je dois référencer manuellement le style dans chaque page que j'utilise (qui n'utilise pas les pages maîtres). Maintenant, la question est .... est-il de toute façon que je puisse avoir un thème global qui s'applique à toutes mes pages, et un thème local qui est contrôlé à partir de mon web.config (comme les thèmes réguliers). Et tous les deux de ils se comportent en synchronisation.

Merci,

Sashidhar kokku

Répondre

1

vous pouvez placer votre mise en page fichier CSS dans un autre répertoire, par exemple votre racine du site, puis placez un fichier CSS dans chaque thème qui contient simplement

@import « /GlobalLayout.css »

de cette façon, vous n'avez le CSS dans un fichier, mais obtenir les avantages de la liaison automatique Theme ASP.NET

http://css-discuss.incutio.com/?page=ImportHack

+0

Angle intéressant. Appréciez l'aide. – Sash

Questions connexes