обновление до неработающего вызова boostrap 4 функции undefined asp. net mvc - PullRequest
0 голосов
/ 09 апреля 2020

Я недавно работаю над задачей существующего веб-сайта, обновляя 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, когда начинается ошибка.

...