以下のように_ 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コードを外部ファイルに入れてもかまいませんが、どこが間違っているのかを明確にしたいのです。
スクリプトの前にjqueryを導入する必要があります。
@Scripts.Render("~/bundles/jquery")
<script type='text/javascript'>
$(document).ready(function () {
alert('Test');
});
</script>
@RenderSection("Scripts", required: false)
</body>
</html>
アンドレアス、私は同じ問題を抱えています。デフォルトでは、「_ layout.cshtml」のドキュメントの最後に「@ Scripts.Render( "〜/ bundles/jquery")」が付いていますが、機能しません。それを頭に貼り付ければ動作します。
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の参照に含まれるようになります。