Использование C # для динамического создания файлов CSS

У меня есть сайт, который развертывается более чем на дюжине клиентов. У основного веб-сайта есть базовый шаблон, и у каждого клиента есть клиентская папка, которая переопределяет цвета. Проблема в том, что существует много файлов CSS, поэтому внесение изменений, которые заставляют нас обновлять каждого клиента, занимает много времени. Автоматизированный процесс сборки заботится о замене обновленных файлов.

Я хотел бы вместо этого изменить файлы CSS, чтобы они управлялись пользователем, и эти пользовательские элементы управления могут затем унаследоваться от другого пользовательского элемента управления, в котором хранятся значения, специфичные для клиента.

Таким образом, вместо файла forms.css, а затем файла /client/forms.css у меня был бы файл Forms.ascx, который наследуется от usercontrol, содержащий цвета.

Пример:

<%@ Control Language="C#" ClassName="Forms" %>
<%@ Register TagPrefix="css" TagName="Client" Src="~/css/ClientStyling.ascx" %>

/* CSS Document */
body
{
  color:<%=Client.BodyColor%>
}

Тогда главная страница будет наследовать от usercontrol вместо этого. Это значительно упростит обслуживание клиентских сайтов.

Так эффективно ли это решение и рекомендуется ли оно? Или есть лучший способ достичь того же конечного результата?

Если это возможно, возможно ли, чтобы элемент управления Forms.ascx выводил разметку как CSS? Или сделайте расширение. css и по-прежнему имеют свойства ascx?

7
задан S.Kiers 10 November 2010 в 17:45
поделиться