Я недавно работаю над задачей существующего веб-сайта, обновляя Bootstrap с версии 3.3.4 до 4.4.1. Проблема, с которой я столкнулся, заключается в том, что когда вы неявно вызываете функцию js в cs html, функция не определена, даже если она находится в файле Bundle.config, и я думаю, что она правильно организована. Но когда вы вызываете функцию внутри ex. кнопка на атрибуте onclick, функция работает нормально, также вызываемые функции работают, когда вы явно добавляете ссылку на скрипт (например) в файл cs html. Я все еще новичок в веб-разработке и в mvc, кто-нибудь сталкивался с этим? может кто-нибудь мне помочь, я бы действительно оценил руку помощи ..
Bundle.config
bundles.Add(new ScriptBundle("~/Scripts/js").Include(
"~/Scripts/jquery-3.4.1.min.js",
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery.cookie.js",
"~/Scripts/login.js",
"~/Scripts/jquery-ui-1.12.1.min.js",
"~/Scripts/umd/popper.min.js",
"~/Scripts/bootstrap-submenu-min.js",
"~/Scripts/loyalty-members.js",
"~/Scripts/prepaid-card.js",
"~/Scripts/contactus.js",
"~/Scripts/loading.js",
"~/Scripts/jquery.flexslider.js",
"~/Scripts/home.js",
"~/Scripts/myprofile.js",
"~/Scripts/alertmsg.js",
"~/Scripts/merchants.js",
"~/Scripts/flipclock/flipclock.js",
"~/Scripts/bootstrap.min.js",
"~/scripts/adjustmentbs4/navbar-customize.js" --> this is a test js file with function with alert
));
Это всего лишь тестовая функция для вызова внутри cs html
function ShowDropdownMenu() {
alert("Test");<br>
}
Это скрипт внутри cshmtl, как вы можете видеть, вызывается тестовая функция ShowDropdownMenu, но изначально ниже функция alertMessagePrompt, которая также при вызове не определена или не определена. но я также протестировал и другие функции, например ShowDropdownMenu, и у него та же ошибка, что и функция alertMessagePrompt
<script>
ShowDropdownMenu();
if ('@TempData["Message"]' != null && '@TempData["Message"]' != "") {
if ('@TempData["pc_result"]' == '0') {
} else {
alertMessagePrompt("Registration Error", "@TempData["Message"]", 1, [["Ok", "btnOkCloseId", 2, "closeMsgPrompt()"]]);
}
changeValue("pc_firstname");
changeValue("pc_middlename");
changeValue("pc_lastname");
validateMobile("pc_mobile");
changeValue("pc_bdate");
validateEmail('pc_youremail');
changeValue("pc_cardName");
changeValue("pc_cityResidence");
changeValue("pc_cityWork");
}
</script>
Я также протестировал исходную версию этого проекта и впервые обновил jquery и функции, неявно вызываемые внутри cs html, по-прежнему работают нормально, но после обновления bootstrap 4, когда начинается ошибка.