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 に答える