如何用 web.config 文件更改 CSS

How to alter CSS with web.config file

有人要求我使用 web.config 文件为 HTML 表单创建视觉对比,以区别于生产环境和开发环境。

我接触 ASP.NET 的机会非常有限。虽然我从昨天开始就一直在研究web.config个文件,但由于我在这方面的经验不足,我仍然认为我不能很有信心地提供一个可靠的解决方案。

如果这项工作可以直接用 HTML、CSS、PHP 或 JS 来处理,我可以自己完成,但必须使用 web.config。

目标是在用户使用开发表单时创建明确无误的视觉变化(比方说,浅绿色背景)。

已经有一个 CSS 样式表在起作用,所以我认为更改必须在 HTML 中内联以覆盖外部样式。

那么问题来了,如果它有意义的话:

如果这是在生产中 web.config: <add key="CurEnv" value="Production"/> 而这是在开发中: <add key="CurEnv" value="Development"/>, 我如何根据配置文件中的值设置表单的背景颜色?

我是这样做的:

例如,对于 DEV,我的 appSettings 中有以下键:

<appSettings>
    <add key="skin" value="skin-gray"/>
    ...
</appSettings>

然后在我的母版页(如果使用 Web 窗体)或我的 _Layout.cshtml(如果使用 MVC)中,我有以下 HTML:

<body class="@System.Configuration.ConfigurationManager.AppSettings["skin"]">

WebForms 的语法为:

<body class="<%=System.Configuration.ConfigurationManager.AppSettings["skin"]%>">

对于生产,我在我的 appSettings 部分有一个 "skin-blue" 设置,这样,当我部署应用程序时,皮肤会根据环境自动更改。

我实际上自动执行此操作,作为使用 Slow Cheetah

构建过程的一部分

以便根据选择的配置来构建应用程序,使用正确的值。这是我对 Web.Production.Config:

的转换
<appSettings>
    <add key="skin" value="skin-blue" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
  </appSettings>

我想你可以阅读那些 link。它可能对你有帮助:

http://forums.asp.net/t/1349824.aspx?How+to+set+CSS+color+settings+from+web+config

Dynamically setting CSS values using ASP.NET