ASP.Net MVC:如何在CSS文件中使用razor变量

时间:2016-07-28 11:11:16

标签: css asp.net-mvc razor

根据我的情况,我需要在razor变量中存储此路径 /img/product.png ,之后我想在CSS文件中使用该razor变量。下面的css代码在css文件中

.test{
    background: url('/img/product.png') no-repeat scroll 0 0 transparent;
}

所以我使用下面这样的代码,但仍然没有运气

.test{
    background: url('@Model.LogoUrl') no-repeat scroll 0 0 transparent;
}

我看到这篇文章 http://www.codeproject.com/Articles/171695/Dynamic-CSS-using-Razor-Engine ,但我不想根据帖子解决我的问题。所以让我知道如何排序这个问题。感谢

3 个答案:

答案 0 :(得分:3)

默认情况下,MVC不支持在外部CSS文件和外部Javascript文件中编写服务器端代码。

为了使您的案例有效,您可以在视图文件中添加内部样式表,它将起作用。

例如:

@{
    ViewBag.Title = "Title";
}
<style>
    .test {
        background: url('@Model.LogoUrl') no-repeat scroll 0 0 transparent;
    }  
</style>

答案 1 :(得分:0)

据我所知,你不能在CSS文件中引用或编写Razor代码。浏览器处理CSS文件,服务器执行Razor代码,然后由浏览器呈现

对于您的问题,您需要编写内联样式

答案 2 :(得分:0)

您也可以在HTML部分中执行此操作:

例如:

<div class="test" style="background: url(..@Model.LogoUrl) no-repeat scroll 0 0 transparent;">
...
</div>