Динамический CSS ребрендинг и переопределение в .Net - PullRequest
1 голос
/ 16 января 2009

Мне было поручено создать механизм динамического изменения цветов CSS на сайте .Net. Цель состоит в том, чтобы при создании и развертывании наших внутренних сайтов приложений на наших серверах UAT интерфейс сайта явно отличался от живых версий без изменения базы кода.

Один из вариантов - пройти через каждый сайт и создать параллельную версию CSS для UAT, но я бы хотел иметь обработчик или что-то еще, чтобы заменить определения цвета в CSS на основе пары ключ / значение, поскольку наши цвета довольно стандартный для всех приложений. В идеале он должен просто перехватывать запрос css, заменять любые стандартные определения цветового кода требуемыми цветами UAT и выводить CSS с заменами. Похоже ли это на реалистичное решение проблемы, или кто-то может предложить лучший подход, который не предусматривает управление несколькими определениями CSS?

Ответы [ 4 ]

0 голосов
/ 04 сентября 2010

Вы также можете взглянуть на меньшее:

http://www.4guysfromrolla.com/articles/030310-1.aspx

0 голосов
/ 16 января 2009

Алекс (парень, на которого вы разместили ссылку на блог) говорит, что вам нужно добавить в web.config следующее:

Если вы используете «IIS6 / Visual studio test server»:

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

Если вы используете IIS7:

Это должно работать, однако, если это не так, вам нужно будет проверить сопоставления следующим образом:

Для веб-сайта:

IIS6 > Website > Home directory

Для виртуального каталога перейдите по адресу:

IIS6 > Virtual folder > Virtual directory (default tab)

Нажмите кнопку configuratino в области настроек приложения.

Найдите расширение .css и убедитесь, что оно использует aspnet_isapi.dll

Если это не так, просто измените его так, чтобы оно было. (Вы можете скопировать полный URL-адрес из любого другого расширения .NET, например ASPX)

Тогда все должно работать нормально.

0 голосов
/ 02 февраля 2009

Вам нужно что-то более сложное, чем обработчики HTTP. Просто создайте страницу .aspx, которая выводит CSS. Это может быть .aspx, и просто ваш тег должен ссылаться на страницу .aspx.

Если вы действительно хотите, чтобы ваши .css-страницы обрабатывались ASP.NET (я бы не стал, потому что это влияет на производительность), тогда вы хотите добавить отображение расширения следующим образом: http://blogs.iis.net/ruslany/archive/2008/09/30/wildcard-script-mapping-and-iis-7-integrated-pipeline.aspx

0 голосов
/ 16 января 2009

Просто обновление, я нашел что-то очень похожее на то, чего я пытаюсь достичь здесь.

http://pastebin.ca/1205892

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...