ASP.NET MVC 4 bundle whitespace - 格式化输出

时间:2013-06-03 04:07:59

标签: html asp.net-mvc asp.net-mvc-4 code-formatting bundling-and-minification

这只是一个微不足道的烦恼,绝不是一个主要问题,但是当使用ASP.NET MVC 4的捆绑功能时,输出包含最小的空白区域。例如

手动渲染:

<head>
    <title>Example page</title>
    <meta name="example" content="blah blah"/>
    <meta name="example2" content="blah blah"/>
    <link href="/css1.css" rel="stylesheet"/>
    <link href="/css2.css" rel="stylesheet"/>
    <link href="/css3css" rel="stylesheet"/>         
    <script src="/script1.js"></script>
    <script src="/script2.js"></script>
    <script src="/script3.js"></script>
    <link rel="shortcut icon" href="/favicon.ico">   
</head>
<body>
    ....

使用捆绑渲染链接和样式表:

<head>
    <title>Example page</title>
    <meta name="example" content="blah blah"/>
    <meta name="example2" content="blah blah"/>
    <link href="/css1.css" rel="stylesheet"/>
<link href="/css2.css" rel="stylesheet"/>
<link href="/css3css" rel="stylesheet"/>         
    <script src="/script1.js"></script>
<script src="/script2.js"></script>
<script src="/script3.js"></script>
    <link rel="shortcut icon" href="/favicon.ico">   
</head>
<body>
    ....

在一天结束时,它只是空白而且不会影响用户体验,但是当我看到它时,我的完美主义者仍然会感到畏缩。例如,我如何通过捆绑强制每个项目输出以前缀为任意数量的选项卡?

1 个答案:

答案 0 :(得分:2)

该行

@Scripts.Render("~/bundles/jquery")

将调用返回IHtmlString

的方法

所以你可以这样做:

@{
    var scripts = Scripts.Render("~/bundles/jquery");
    scripts = new HtmlString(scripts.ToString().Replace("<script", "    <script"));
}

@scripts