【发布时间】:2012-05-04 00:36:00
【问题描述】:
如何在 CSS 文件中使用 Razor?
我使用Razor View Engine 有一段时间了,我对在样式表上使用它感到好奇。我可以在<style> .cshtml 文件块中使用 Razor,但我想知道我是否也可以在外部 .css 文件中使用它(希望有一个 >.cscss 格式)。于是我google了一下,发现了两件事:
第一个是LESS:“动态样式表语言”。它似乎易于使用且功能强大,但我需要 Razor-C#,真的。
第二个是Dynamic CSS Using Razor Engine,一篇 CodeProject 文章,它更像我想要的,但它没有缓存或预编译支持(我所说的“不支持”是指作者没有提到这些方面)。我也想在 Visual Studio 中突出显示一些语法,但这是次要的。
那么,如何在 CSS 文件中以最低的性能成本编写 Razor,最好使用语法高亮显示?
- 有没有“更完整”的项目?
- 能否改进上述项目以实现缓存/编译?如果是这样,怎么做?
附注:
我找到了一个名为RazorJS 的项目。这就像我想要的具有缓存支持的 CSS 的 Javascript 版本。我提到这一点只是为了澄清我的需求。我目前不需要在 Javascript 中使用 Razor,但我想如果我用 CSS 完成它,用 Javascript 做同样的事情不会太难。
【问题讨论】:
-
您一直在谈论语法高亮,这与剃须刀无关。编辑器是 Visual Studio。您要实现什么目标,为什么要在 css 中使用“剃刀”?
-
@TJHeuvel 为什么有人想要在他们的 html 中使用 razor?为什么人们使用服务器端脚本语言?因为他们希望他们的页面是动态的。通过这种方式,他们可以将数据存储在数据库中,而不是 html 文件中。所以我为什么要在我的 css 中使用 razor 是因为我希望我的 css 也是动态的。我可能会在我的数据库中保留与设计相关的数据(如背景颜色),并希望在我的 css 中使用它。至于智能感知,visual-studio 是这个 qustion 的标签之一。我想知道如何(如果可以的话)在 css 文件中使用 razor intellisense,正如我所提到的,这对我来说只是次要的事情。
-
@d4wn:为什么你希望你的 CSS 是动态的? SASS/LESS 和视图引擎方法之间有很大的区别,在后一种情况下,您只是向客户端发送可能只是静态的非缓存内容...:S
标签: css visual-studio razor server-side