Я использую шаблон администратора для своего проекта MVC. Этот шаблон администратора интегрирован с JavaScript-кодом pickadate. Я встраиваю элемент управления календаря в @ HTML.EditorFor.
Когда страница загружается, элемент управления загружается нормально, а также отображается календарь. Но он загружается странным образом. Прежде всего, если я свяжу элемент управления с датой, например -
Я хочу показать 14/06/2019 в поле редактора, когда страница загружается и, если пользователь хочет, он может изменить элемент управления из календаря.
Дата также загружается, но когда появляется календарь ** Год выбран на 100 лет назад **, где датой по умолчанию для элемента управления должна быть сегодняшняя дата.
Если я пытаюсь отладить это из средств разработчика, я всегда получаю это сообщение об ошибке -
Uncaught TypeError: Cannot read property 'get' of undefined at pick-a-datetime.min.js:1
Я не новичок в MVC, но JavaScript всегда создает проблемы для меня. Я перепробовал все форумы по проблемам PickADate, но не нашел решения.
Если кто-то может объяснить, это будет очень полезно.
Вот так я загружаю ресурсы JS в свой файл Bundle -
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
//*START* VENDOR MAIN
"~/XXXXX_ADMIN/app-assets/vendors/js/vendors.min.js", /*this is what breaks the autocomplete OG*/
//*END* VENDOR MAIN
//*START* CORE
"~/XXXXX_ADMIN/app-assets/js/core/app-menu.min.js",
"~/XXXXX_ADMIN/app-assets/js/core/app.min.js",
//*END* CORE
//*START* PICKERS
"~/XXXXX_ADMIN/app-assets/vendors/js/pickers/pickadate/picker.js",
"~/XXXXX_ADMIN/app-assets/vendors/js/pickers/pickadate/picker.date.js",
"~/XXXXX_ADMIN/app-assets/vendors/js/pickers/pickadate/picker.time.js",
"~/XXXXX_ADMIN/app-assets/vendors/js/pickers/pickadate/legacy.js",
"~/XXXXX_ADMIN/app-assets/vendors/js/pickers/dateTime/moment-with-locales.min.js",
"~/XXXXX_ADMIN/app-assets/vendors/js/pickers/daterange/daterangepicker.js",
//*END* PICKERS
//*START* PICKERS
"~/XXXXX_ADMIN/app-assets/js/scripts/pickers/dateTime/pick-a-datetime.min.js",
//*END* PICKERS
bundles.Add(new ScriptBundle("~/custom/defaultJquery").Include(
"~/XXXXX_ADMIN/app-assets/js/core/libraries/jquery.min.js",
"~/XXXXX_ADMIN/app-assets/js/core/libraries/jquery_ui/jquery-ui.min.js"));
Я добавляю ссылку на мою страницу _Layout -
<body>
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
КОД для отображения даты в MVC View
<div class="form-group">
@Html.EditorFor(model => Model.Employee.FirstOrDefault().DateJoin, new { htmlAttributes = new { @class = "pickadate form-control validate[required]", @style = "background-color:white;" } })
</div>
Так выглядит календарь после загрузки
Ошибка JS в инструментах разработчика
Выбранный раздел является частью ошибки в файле JS