2009-01-16 10 views
1

J'ai été chargé de mettre en place un mécanisme pour modifier les couleurs CSS dans un site .Net dynamiquement. Le but est de s'assurer que lorsque nos sites d'applications internes sont construits et déployés sur nos serveurs UAT, l'interface utilisateur du site est identifiable par rapport aux versions en direct sans changer la base de code. Une option est de parcourir chaque site et de créer une version UAT parallèle de la CSS, mais je voudrais avoir un gestionnaire ou quelque chose en place pour remplacer les définitions de couleurs dans le CSS basé sur une paire clé/valeur comme nos couleurs sont assez standard dans les applications. Idéalement, il devrait simplement intercepter la demande de css, remplacer toute définition de code de couleur standard par les couleurs UAT requises et server le CSS avec les remplacements. Cela semble-t-il une solution réaliste au problème ou quelqu'un peut-il suggérer une meilleure approche qui n'implique pas de gérer plusieurs définitions de CSS?Renommer CSS dynamique et redéfinir dans .Net

Répondre

0

Juste une mise à jour, j'ai trouvé quelque chose de très similaire à ce que j'essaye de réaliser ici.

http://pastebin.ca/1205892

0

Alex (le gars que vous avez posté le lien de blog) indique que vous devez ajouter ce qui suit à la web.config:

Si vous utilisez "IIS6/serveur de test de Visual Studio":

<system.web> 
    <httpHandlers> 
     <add verb="*" path="*.css" type="StyleSheetHandler"/> 
    </httpHandlers> 
</system.web> 

Si vous utilisez IIS7:

Il devrait fonctionner, mais si elle ne le fait pas, alors vous aurez besoin de vérifier les correspondances comme ceci:

Pour un site Web:

IIS6 > Website > Home directory 

Pour parcourir le répertoire virtuel:

IIS6 > Virtual folder > Virtual directory (default tab) 

Cliquez sur le bouton Configuratino dans la zone des paramètres de l'application.

Situer l'extension .css et vérifiez qu'il utilise le aspnet_isapi.dll

Si ce n'est pas alors changer simplement pour qu'il soit. (Vous pouvez copier l'URL complète à partir de n'importe quelle autre extension .NET, .aspx par exemple)

Ensuite, tout devrait fonctionner correctement.

0

Vous avez besoin de quelque chose d'aussi compliqué que les gestionnaires HTTP. Il suffit de créer une page .aspx qui génère des CSS. Il peut s'agir d'un fichier .aspx et vous n'avez qu'à faire référence à la page .aspx.

Si vous voulez vraiment avoir vos pages Css traitées par ASP.NET (je pas parce qu'elle affecte les performances), alors vous voulez ajouter une carte d'extension comme ceci: http://blogs.iis.net/ruslany/archive/2008/09/30/wildcard-script-mapping-and-iis-7-integrated-pipeline.aspx