在CSS中使用C#变量

时间:2015-01-20 10:44:58

标签: 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,但我们宁愿不使用这个库,而是使用只使用几行代码的解决方案。

1 个答案:

答案 0 :(得分:1)

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

这样你就可以得到类似下面的内容来呈现合适的css:

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

这是一个可行的选择吗?