ASP.NET MVCで自動作成したViewで不具合が発生
自動作成したView上でjQuery.uiのdatepicker(カレンダーのやつ)を動かそうとするとエラーを吐きました。
原因
端的に言うと基本のjQuery→jQuery.ui→それを使ったファイルの順でインポートができていませんでした。
ASP.NETのLayout.cshtmlにはViewを自動作成した時点で末尾に< script scr="~/..."> < /script>が記述されます。
つまりcshtmlにjQuery.uiを記述すると
「cshtml末尾のjQuery.ui」→「_LayoutのjQuery」といった順番になり、うまく動作しないようです。
多分…
解決
_Layout.cshtmlにベタ書きしました。不細工ですが、ほかにあまり使うこともないので…
下記は_Layout.cshtmlの下の部分を書き換えたものです。jQuery.uiはNugetでインストールしました。
あとはテーマをいい感じに入れれば終わりです。
_Layout.cshtml
@Scripts.Render("~/bundles/jquery")
<script src="~/Scripts/jquery-ui-1.12.1.min.js"></script>
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
<script>
$(function () {
$(".datepicker").datepicker();
});
</script>
tes.html
<input type="datetime" class="datepicker"/>