10

我正在尝试使用 SquishIt 来缩小 ASP.NET MVC 3 项目中的 CSS 和 Javascript。

当我使用渲染方法时:

.Render("~/content/themes/base/combined_#.css");

css是用随机数而不是#生成的,但是没有生成css文件的链接,我需要手动将它插入到cshtml文件中:

<link href="~/content/themes/base/combined_#.css" rel="stylesheet" type="text/css" />

但我不知道这个随机数,添加到文件名中。

没有#它工作正常。

但是我的印象是Render应该根据这篇文章自动生成css链接:

http://www.codethinked.com/squishit-the-friendly-aspnet-javascript-and-css-squisher

我对么?

4

2 回答 2

21

以下对我很有用:

@Html.Raw(Bundle.JavaScript()
        .Add("~/scripts/jquery-1.5.1.js")
        .Add("~/scripts/jquery.unobtrusive-ajax.js")
        .ForceRelease()
        .Render("~/scripts/combined_#.js")
)

@Html.Raw(
    Bundle.Css()
        .Add("~/content/site.css")
        .Add("~/content/site2.css")
        .ForceRelease()
        .Render("~/content/combined_#.css")
)

它发出:

<script type="text/javascript" src="/scripts/combined_B8A33BDE4B3C108D921DFA67034C4611.js"></script>
<link rel="stylesheet" type="text/css" href="/content/combined_97A4455A9F39EE7491ECD741AB4887B5.css" />

当我导航到相应的 url 时,会获得正确的压缩和组合资源。

还有一个Contrib 项目,它提供了一个基本的 Razor 页面以将 SquishIt 集成到 ASP.NET MVC 应用程序中。

于 2011-09-21T17:51:24.143 回答
13

或者添加对 SquishIt.Mvc 程序集的引用并使用 .MvcRender 方法

例如。

@using SquishIt.Framework
@using SquishIt.Mvc

@(Bundle.JavaScript()
    .Add("~/scripts/jquery-1.5.1.js")
    .Add("~/scripts/jquery.unobtrusive-ajax.js")
    .ForceRelease()
    .MvcRender("~/scripts/combined_#.js")
)
于 2011-12-01T04:13:18.897 回答