118

次のようなJavaScriptリファレンスを含めたいです。

<script src="@Url.Content("~/Scripts/jqueryFoo.js")" type="text/javascript"></script>

Razorビューがある場合、レイアウトに追加せずにこれを含める適切な方法は何ですか(すべてではなく、単一の特定のビューにのみ必要です)

aspxでは、コンテンツプレースホルダーを使用できます。mvcでaspxを使用しているが、Razorビューでは使用していない古い例を見つけました。

4

3 に答える 3

192

実装方法に応じて(スクリプトが必要な特定の場所がある場合)、構造を保持したまま、ビュー自体からスクリプトを追加できるようにする@section内に実装できます。_Layout例えば

_レイアウト

<!DOCTYPE html>
<html>
  <head>
    <title>...</title>
    <script src="@Url.Content("~/Scripts/jquery.min.js")"></script>
    @RenderSection("Scripts",false/*required*/)
  </head>
  <body>
    @RenderBody()
  </body>
</html>

意見

@model MyNamespace.ViewModels.WhateverViewModel
@section Scripts
{
  <script src="@Url.Content("~/Scripts/jqueryFoo.js")"></script>
}

そうでなければ、あなたが持っているものは大丈夫です。出力されたビューと「インライン」であることを気にしない場合は、<script>ビュー内に宣言を配置できます。

于 2013-01-11T18:52:57.273 に答える
13

Razorビューエンジンを使用している場合は、_Layout.cshtmlファイルを編集します。フッターにある@Scripts.Render( "〜/ bundles / jquery")をヘッダーセクションに移動し、必要に応じてjavascript/jqueryコードを記述します。

@Scripts.Render("~/bundles/jquery")
<script type="text/javascript">
    $(document).ready(function () {
        var divLength = $('div').length;
        alert(divLength);
    });
</script>
于 2015-01-21T07:02:45.407 に答える
6

以下のようなクライアント側の検証を行いながら、asp.netでの使用方法のようなスクリプトタグを追加できます。

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<script type="text/javascript" src="~/Scripts/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
    $(function () {
       //Your code
    });
</script>
于 2017-06-19T17:37:55.867 に答える