問題
bootstrapにもdatepickerがあり、まったく同じ名前なのでjQuery-uiかbootstrapにしないといけない。
なんでと思いながら悩むだけで、原因調査から逃げていた。
仕事でjQuery-uiを標準としていて複数は使いたくない。
ある日、問題のサイトでどうしても日付を入力ではなく選択にしたい欲望が出てきた。
他のサイトのソースを眺めても違いが見当たらない。なにが違うのかな。
ぐぐって・・・jQueryが複数指定されると、メッソードを認識しないときがあると。
レンダリング結果を見る、え?jqueryが重複してレンダリングされていた。
headerで指定したのはOK。
bodyのすぐ下にもう一個ある。これはASP.NETの仕業だな。
ScriptManagerのところが怪しくて調査すると犯人はこいつー
- AspNet.ScriptManager.jQuery
テンプレートの基本構成はカスタムしない方針だが、jQuery指定は自分がコントロールしたい。
ソリューション
- パッケージマネージャーから「AspNet.ScriptManager.jQuery」を外す。
- web.configに下記を指定
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
再表示すると見れた!カレンダーが見れた!
メモ
MVCが大勢だけど、自動化が進化していくと、結局WebFormに戻るんじゃないかなと思っていたけど・・・
.Net Framework自体が役目を終えようとしている。
悩まずに.Net Coreへ行きましょう。