У меня есть сайт, который развертывается более чем на дюжине клиентов. У основного веб-сайта есть базовый шаблон, и у каждого клиента есть клиентская папка, которая переопределяет цвета. Проблема в том, что существует много файлов 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?