c# - 在 CSS 中使用 C# 变量

标签 c# css asp.net

我正在使用 ASP.NET C# 代码开发一个网站,该网站将用于各种网站,并且仅用作“占位符”。我们希望 CSS 代码可以根据您访问的网站具有不同的标记。我们正在从我们的数据库中提取有关某人正在访问的网站的信息,该数据库附加了一些方法来返回这些值。

问题是我们希望能够在 CSS 代码中使用这些值,目前我能想到的唯一方法是使用内联 CSS 代码而不是 .css 文件。这将使我们的代码看起来像这样:

<style>
    .navbar {
        background-color: @Website.Models.WebsiteConfiguration.NavbarColor;
    }
</style>

这并不理想。是否有另一种在 CSS 代码中使用 C# 变量而不使用内联代码的方法?我找到了 a website它描述了使用自定义处理程序来修改 css 文件,但是我们无法让它工作,因为我们的解析器从未被调用过。我们还发现了 .LESS library ,但我们宁愿不使用这个库,而是致力于只使用几行代码的解决方案。

最佳答案

您可以使用某种模板语言来呈现 css 文件。它自己的 css 变量不会被填充,但您可以编写一个实用程序类来读取模板文件、填充变量、将新文件保存到适当的位置并在页面上输出正确的样式元素,指向新的 css 文件。

这样你就可以有类似下面的东西来呈现适当的 css:

<% CssHelper.Load("myFile.template", "websitex/style.css")%>

这是一个可行的选择吗?

关于c# - 在 CSS 中使用 C# 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28043335/

相关文章:

javascript - 带有固定导航栏的图像顶部的 HTML/CSS 图像

asp.net - 应用程序相关 URL

html - 如何删除 asp.net 单选按钮的边框

c# - 文件上传后更新处理进度

jquery - 使用 jQuery 应用样式

c# - 使用元组列表 : calculating number of items

c# - 在 C# 中扩展枚举

c# - VB.NET禁用键盘和鼠标

c# - 如何通过 C# 控制台应用程序更新 MySql 表行?

javascript - 在视频阴影 DOM 中定义样式