2012-03-13 5 views
6

Проблема заключается в следующем: Мы пытаемся реализовать схему управления версиями для нашего CSS и везде, где мы получили доступ к CSS через href (например, \ themes \ ssss \ abc.css), мы добавляем эту ссылку с номером сборки программно (например \ themes \ ssss \ abc.css? 1011), так что при новой сборке клиент получает последние css-файлы.Как загрузить последнюю версию CSS-файлов темы?

Проблема в теме. Напр. в App_Themes мы создали папку темы с именем MyTheme; теперь, где бы ни использовалась эта тема, нам нужен CSS для замены этой темы последними файлами сборки. Как это сделать?

+0

Можете ли вы использовать переназначение URL IIS? –

+0

Можете ли вы уточнить? –

+1

Если у вас есть общий URL-адрес, например /MySyste/Themes/Current.css, он может быть переназначен в /MySite/Themes/12345/Current.css, я думаю, это можно сделать, переписывая URL-адрес так же, как мы, например, с помощью MVC, подробнее: http://msdn.microsoft.com/en-us/library/ms972974.aspx –

ответ

0

Добавьте дополнительный хэш к вашему URL-адресу css ("#somethingnew"). Вы также можете использовать такие инструменты, как SquishIt. Он также может минимизировать файлы css/js.

+0

Это тема, которую нужно обрабатывать, а не отдельный файл css. –

+0

Извините, мой «ответ» не был полезен. Вы можете решить свое решение, инициализируя свой собственный VirtualPathProvider, и добавить abc_123.css вместо abc.css и переопределить метод GetFile для возврата любого файла, который вы хотите (настоящий последний abc.css в этом случае). Он будет работать, но я не уверен, что хорошо использовать этот тяжелый вариант для такого сценария. –

1

Почему вы не создаете новую папку тем для каждой сборки/развертывания?

Нечто похожее на \ themes \ ssss-1011 \ abc.css.

+0

Это невозможно по причине шагов развертывания и т. Д. ... –

Смежные вопросы