这只是一个微不足道的烦恼,绝不是一个主要问题,但是当使用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>
....
在一天结束时,它只是空白而且不会影响用户体验,但是当我看到它时,我的完美主义者仍然会感到畏缩。例如,我如何通过捆绑强制每个项目输出以前缀为任意数量的选项卡?
答案 0 :(得分:2)
该行
@Scripts.Render("~/bundles/jquery")
将调用返回IHtmlString
。
所以你可以这样做:
@{
var scripts = Scripts.Render("~/bundles/jquery");
scripts = new HtmlString(scripts.ToString().Replace("<script", " <script"));
}
@scripts