css - .LESS 与 Razor 一起

标签 css asp.net-mvc razor sass less

是否可以将 Razor View Engine (ASP.NET MVC) 与 .LESS(类似于 SASS - http://lesscss.org/ for .NET)一起使用,因为它们都使用“@blah”?

我想要实现的是创建与 Razor 混合的 .LESS css 文件。

更新:

抱歉有点不明确。我想要做的是在 .less (dotlesscss) css 文件中使用 Razor View Engine。这会很好,例如将网站设置(如管理员自定义的主题)传递到 css 文件中。

问题是语法会崩溃。

另一种方法是改用 C# 或其他 View 引擎。

最佳答案

您应该考虑使用 Justin Etheredge 的 SquishIt 库。它不仅包含 dotlesscss 库,还能轻松组合和压缩您的 CSS 和 Javascript!

这是我如何在 Razor 中使用 SquishIt 的示例。

以下代码会将所有引用的 CSS 文件合并、缩小和 LESSify 到一个 CSS 文件中。它会对 Javascript 文件执行相同的操作。

@MvcHtmlString.Create(
  SquishIt.Framework.Bundle.Css()
    .Add("~/media/css/reset.css")
    .Add("~/media/css/style.less")
    .Add("~/media/css/handheld.css")
    .Render("~/media/css/combined_#.css"))

@MvcHtmlString.Create(
  SquishIt.Framework.Bundle.JavaScript()
    .Add("~/media/js/geo.js")
    .Add("~/media/js/jquery-1.4.4.js")
    .Add("~/media/js/jquery.unobtrusive-ajax.js")
    .Add("~/media/js/jquery.validate.js")
    .Add("~/media/js/jquery.validate.unobtrusive.js")
    .Render("~/media/js/combined_#.js"))

输出如下所示:

<link rel="stylesheet" type="text/css" href="/media/css/combined_312454.css" />
<script type="text/javascript" href="/media/js/combined_312454.js"></script>

更新(1 年多后)...
您可能想要查看的另一个元素是 Cassette它几乎完成了 SquishIt 所做的一切(甚至更多)。

关于css - .LESS 与 Razor 一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081084/

相关文章:

javascript - 查找带有边框的 HTML5 Canvas(单击)事件的坐标

javascript - 从 PagedListPager 调用 JavaScript 函数

javascript - 捕获太长的表单提交

asp.net - IIS Express 不会接受对 _Layout.cshtml 的更改

html - CSS 规则不适用

javascript - 他们是如何制作今天的谷歌涂鸦的

html - 将 CSS 属性选择器设置为 :target

c# - Asp.net MVC 休眠 : Can not modify more than one base table through a join view

asp.net-mvc - 在 Razor 中创建 EditorTemplates 时出错

asp.net-mvc - MVC 3.0 编辑可变长度列表并使用 PRG 模式