【发布时间】:2011-05-08 00:53:15
【问题描述】:
我有一个部署到十几个客户的网站。主网站有一个基本模板,每个客户端都有一个覆盖颜色的客户端文件夹。问题是有很多 CSS 文件,因此进行强制我们更新每个客户端的更改需要很长时间。自动构建过程负责替换更新的文件。
我想将 CSS 文件改为用户控件,然后这些用户控件可以从另一个存储客户端特定值的用户控件继承。
因此,我将拥有一个继承自包含颜色的用户控件的 Forms.ascx 文件,而不是拥有一个 forms.css 文件和一个 /client/forms.css 文件。
例如:
<%@ Control Language="C#" ClassName="Forms" %>
<%@ Register TagPrefix="css" TagName="Client" Src="~/css/ClientStyling.ascx" %>
/* CSS Document */
body
{
color:<%=Client.BodyColor%>
}
然后母版页将继承自用户控件。这将使客户站点的维护变得更加容易。
那么这种解决方案是否有效且值得推荐?还是有更好的方法来实现相同的最终结果?
如果可以,是否也可以让 Forms.ascx 控件将标记输出为 CSS?或者制作扩展名 .css 并且仍然具有 ascx 属性?
【问题讨论】:
-
您是否设想 Client.BodyColor 来自数据库或配置文件?
-
它将被硬编码在用户控件中。自动构建过程会处理它。