在web.config中定义颜色并在CSS文件

时间:2018-02-27 12:38:43

标签: c# css model-view-controller web-config

我想在web.config文件中保存一种颜色并在CSS文件中使用它,以将其用于不同的Web应用程序。例如:Web应用程序1采用蓝色设计,Web应用程序2采用绿色设计...... 我的web.config看起来像这样:

<add key="name" value=" #000000"/>

我的问题是,如何在CSS文件中获取此值。

2 个答案:

答案 0 :(得分:1)

尝试Tim Gerhard的解决方案时,我也遇到了错误。 (因为我是一个相对较新的用户,所以我无法输入此内容作为对此答案的评论。)经过多次迭代,我使其得以工作(以实际的内联样式),如下所示:

<!-- In web.config -->
<appSettings>
    <add key="PageTitleStyle" value="style='color:red'"/>
</appSettings>

<!-- In the .aspx file -->
<span <asp:Literal runat="server" Text="<%$ AppSettings:PageTitleStyle %>" /> >
      Page Title Text Here</span>

请注意,在我的实际应用程序中,我还使用相同的语法和单独的“添加键”字符串从Web.config获取页面标题文本。

如Tim所说明的那样,以“内部样式表”形式也是有效的,并且通常被认为是更可取的。实际上,重新阅读您的问题,我想您会那样做。

我只在键中输入了字符串“ red”,但没有让我将其拼接到“ color:”之后的内联样式标签中。因此,我最终得到了Web.config中的整个样式字符串。我没有在“内部样式表”上下文中尝试过它,但是它与众不同,足以使其起作用。


补充信息-为了回答Tim关于我尝试使用他的构造(使用Visual Studio 2013和.Net 4)时遇到的错误的问题。首先我得到了:

  

表达式前缀“ ConfigurationManager.AppSettings”不是   公认的。请更正前缀或将前缀注册到    配置部分。

当我删除“ ConfigurationManager”时。然后我得到了:

  

表达式'<%$ AppSettings ['PageTitleStyle']%>'无效。   表达式使用语法<%$ prefix:value%>。

因此,我然后更改了方括号结构以使用冒号。然后我得到了(“ blockquote”不适用于此代码,所以我使用的是“代码示例”格式):

Literal expressions like '<%$ AppSettingsa:PageTitleStyle %>' are not allowed.
Use <asp:Literal runat="server" Text="<%$ AppSettingsa:PageTitleStyle%>" /> instead.

因此,我开始使用上面的工作语法。

答案 1 :(得分:0)

您需要使用内联样式在css文件中设置webconfig值。像这样:

<style type="text/css">
        .yourClass {
            color: <%= ConfigurationManager.AppSettings["YOURKEYNAME"] %>;
        }
</style>

例如,您可以在剃须刀主模板中添加它。

您可以在此处详细了解:https://forums.asp.net/t/1349824.aspx?How+to+set+CSS+color+settings+from+web+config