根据我的情况,我需要在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 ,但我不想根据帖子解决我的问题。所以让我知道如何排序这个问题。感谢
答案 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>