我想在web.config文件中保存一种颜色并在CSS文件中使用它,以将其用于不同的Web应用程序。例如:Web应用程序1采用蓝色设计,Web应用程序2采用绿色设计...... 我的web.config看起来像这样:
<add key="name" value=" #000000"/>
我的问题是,如何在CSS文件中获取此值。
答案 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