ASP.NET MVC 3 Razor:ヘッドタグにJavaScriptファイルを含める


230

特定の* .cshtmlのJavaScriptファイルを、_Layout.cshtmlで定義されている他のすべてのインクルードファイルとともにヘッドタグに含めるための適切なRazor構文を理解しようとしています。


7
また、jsをヘッドセクションではなくページの下部に配置することも検討してください。
Mattias Jakobsson、

サンプルコードで見つけた唯一の問題は、@ section "JavaScript"を引用符で囲む必要がないことです。
スティーブンパッテン2010年

2
もう1つ:これがJavaScriptタグの場合、使用方法に注意してください。これを正しく実行するには、スクリプト要素のENDタグを使用する必要がありました。<script type = "text / javascript" src = "@ Url.Content("〜/ Scripts / RDA.js ")"> </ script>;
スティーブンパッテン2010年

@Mattias Jakobsson-常にではありません。それは特定のケースに依存します。
ディムスキー

@Dimskiyワードパーサーおよびペダントになることを許可する場合は、実際に配置するかどうかに関係なく、常にjsを一番下に置くことを考慮してください。
MrBoJangles 2013

回答:


398

名前付きセクションを使用できます

_Layout.cshtml

<head>
    <script type="text/javascript" src="@Url.Content("/Scripts/jquery-1.6.2.min.js")"></script>
    @RenderSection("JavaScript", required: false)
</head>

_SomeView.cshtml

@section JavaScript
{
   <script type="text/javascript" src="@Url.Content("/Scripts/SomeScript.js")"></script>
   <script type="text/javascript" src="@Url.Content("/Scripts/AnotherScript.js")"></script>
}

1
はい、私はWebPageBaseを見ていて、それが答えであると推測していましたが、適切な構文を完全には知りませんでした。MVC 3のリファレンスガイドを推奨できますか?よろしく...
スティーブン・パッテン

8
ハ!MVC 3とRazorの両方の構文のリファレンスガイドがあったらいいのにと思います。私は区のブログから上記を入手しました。MVC 3の最良のリファレンスは、おそらくリリースノートです。
RPM1984

ああ、良いヒントは、 <script>タグの -知らなかった(JSで名前付きセクションをまだ試していません)。今私は(そして他の人も)知っているだろう
RPM1984

4
参考:Javascriptは、ヘッドタグ</body>内ではなく、タグの直前にレンダリングする必要があります。これは、ブラウザによる並行ダウンロードを妨げないようにするためです。developer.yahoo.com/performance/rules.htmlを
Peter

4
@ピーター-はい、知っています-しかし、私は単に答えに取り組んでいました(ヘッドタグ内のJS)。
RPM1984
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.