【问题标题】:ASP.Net MVC: How to use razor variable in CSS fileASP.Net MVC:如何在 CSS 文件中使用剃刀变量
【发布时间】:2016-07-28 11:11:15
【问题描述】:

根据我的情况,我需要将此图像路径 /img/product.png 存储在 razor 变量中,然后我想在 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,但我不想按照帖子解决我的问题。所以让我知道如何解决这个问题。谢谢

【问题讨论】:

  • 最好在视图本身中使用内部样式表。
  • @ssilas777 对不起,不明白你想说什么......你能不能用一些例子来描述你所说的。谢谢
  • 这段代码是在你的 .cshtml 文件还是 .css 文件上?

标签: css asp.net-mvc razor


【解决方案1】:

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

为了使您的情况正常,您可以在视图文件本身中添加一个内部样式表,它会起作用。

例如:

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

【讨论】:

  • 同题类似
  • 不,他正在尝试放入外部 css 文件,我希望他自己放入视图。
  • 背景:url('@url.content(Model.LogoUrl)');可能会有所帮助:)
  • 如何返回只有 css 和 razor 变量的视图?寻找有关此主题的类似文章。请讨论如何实现它。谢谢
  • 我没有清楚地得到你的问题。你能把它作为一个单独的问题发布吗。我一定会尽力帮助
【解决方案2】:

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

对于你的问题,你需要写一个内联样式

【解决方案3】:

您也可以在 HTML 部分中这样做:

例如:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2011-06-09
    • 2011-12-05
    相关资源
    最近更新 更多