2

这只是一个微不足道的烦恼,绝不是一个大问题,但是当使用 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>
    ....

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

4

1 回答 1

2

线

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

将调用一个返回IHtmlString.

所以你可以这样做:

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

@scripts
于 2013-06-03T04:51:41.737 回答