2012-02-17 2 views
3

最初のMVCプロジェクトです。これを管理する最良の方法は何か不思議です。MVC3に埋め込まれたスクリプトタグRazor views

私は私が私の閉鎖体タグの前に私のJSを維持することを好む次

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

を含んで作成しています私の意見のすべて。私は明らかにこれを私のlayout.cshtmlファイルに移すことができますが、これを行うためのよりエレガントなMVC/Razorの方法があると思います(特に、グローバルにロードしたくないビュー固有のファイルがある場合)。

どうすればこの問題を解決できますか?

答えて

5

グローバルスクリプトを_Layout.cshtml内に配置し、特定のビューからのみ含めるスクリプトの場合はsectionを定義します。

など。

@section FooterScripts 
{ 
    <script src="@Url.Content("~/Scripts/local.js")" type="text/javascript"></script> 
} 
+0

@MikeEdenfieldはなぜ*偽のすべての*を指定する必要があります:layout.cshtmlビューで

<body> ... <script src="@Url.Content("~/Scripts/global1.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/global2.js")" type="text/javascript"></script> @RenderSection("FooterScripts", false) </body> </html> 

し、私は私が世界的に含めたくないスクリプトが必要な場合では?私のインテリセンスは、* @ RenderSection(文字列)*があると言います。それは新しく追加されたものですか(ポストはすぐに4歳です)。 –

+0

ここでfalseパラメータは、セクションが必須ではないことを意味します。それはビューにそのような名前のセクションはありません、それは無視されます。 Booleanパラメータを持たないオーバーロードは、あなたが本当に渡したように振る舞います –

関連する問題