web-dev-qa-db-ja.com

asp.net mvc4 jqueryが機能しない

以下のように_ Layout.cshtmlに入れられたjqueryコードを実行しようとしています:

...............
<script type='text/javascript'>
$(document).ready(function () {
   alert('Test');

});
</script>
  @Scripts.Render("~/bundles/jquery")
  @RenderSection("Scripts", required: false) 
</body>
</html>

上記のコードは実行されず、Chrome Devで検査したところ、$は定義されていません)と表示されました(すべてのjqueryが表示され、jqueryのuiファイルが読み込まれています)

うまくいったこのコードを外部のjsファイルに配置した場合

私はすべてのjqueryコードを外部ファイルに入れてもかまいませんが、どこが間違っているのかを明確にしたいのです。

20
davidcoder

スクリプトの前にjqueryを導入する必要があります。

@Scripts.Render("~/bundles/jquery")

<script type='text/javascript'>
$(document).ready(function () {
   alert('Test');

});
</script>

  @RenderSection("Scripts", required: false) 
</body>
</html>
24
NunoCarmo

アンドレアス、私は同じ問題を抱えています。デフォルトでは、「_ layout.cshtml」のドキュメントの最後に「@ Scripts.Render( "〜/ bundles/jquery")」が付いていますが、機能しません。それを頭に貼り付ければ動作します。

8
user1462933

JQueryが機能するためには、スクリプトが<script src="/Scripts/jquery-2.0.3.js"></script>の後に来る必要があります

_Layout.cshtmlの</body>タグの直前に、次のようなものが見つかります

@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)

まず、jQueryライブラリがあります。次に、スクリプトがあります。これが意味することです。あなたの見解では、このようなことをします。

@section scripts{
 //your script
}

これにより、すべてのスクリプトがjQueryの参照に含まれるようになります。

7
DanKodi