Добавление модального диалога в заголовочный файл в проекте MVC не работает
Я реализовал модальное всплывающее окно как часть файла header.cshtml в проекте MVC. проблема в том, что он не показывает диалоговое окно (не работает) Единственный способ, которым я смог заставить работать, - это поместить и кнопку, и модальный контейнер в заголовочный файл. Модальное тело-это длинный текст, и оно не должно быть частью заголовочного файла.
Ниже приведен код в файле Roles.cshtml, где создается модальный контейнер и записывается текст
@{ Layout = "~/Views/Shared/SubLayout.cshtml"; } @{ ViewBag.Title = "Roles"; } <div class="container"> <div class="styleguide-spacer-modals"></div> </div> <div class="modal" id="modal-active" aria-hidden="true"> <div class="modal__overlay bg-modal" tabindex="-1" data-micromodal-close> <div class="modal__container" role="dialog" aria-modal="true" aria-labelledby="modal-title-1"> <header class="modal__header"> <h1 class="modal__title h2" id="modal-title-1"> <h2>Roles</h2> <br /> </h1> </header> <main class="modal__content"> BLABLA...... </main> <footer class="modal__footer"> <button class="button button-primary" aria-label="submit"> close </button><button class="button button-secondary" data- micromodal-close aria-label="closing"> close </button> </footer> </div> </div> </div>
Тогда файл Header.cshtml выглядит так: где я добавил "btnTrigger" и AJAX-скрипт для вызова и показа модального кода
@model TR.Service.Web.ViewModels <header class="header" role="banner"> <!--1A: Portal header --> <div class="portal-header"> <div class="container portal-header-inner"> <a href="#" title="Home" aria-label="Home" class="logo"></a> <button class="button button-tertiary button-menu-open js-menu- open ml-auto" aria-haspopup="menu" title= mobil menu">Menu</button> <a href="#" class="button button-secondary" role="button"> login </a> </div> <button class="button button-primary" id="btnTrigger" data-micromodal-trigger="modal-passive"> Read me </button> <div id="divContainer"></div> </div> </div> <div class="solution-header"> blabla........ </div> </header> @section scripts { <script> $(function () { $('#btnTrigger').unbind(); $('#btnTrigger').on('click', function () { $.ajax({ url: '@Url.Action("Betingelser", "Rolles")', type: 'POST', data: { }, success: function (arr) { $('#divContainer').html(arr); //Load your HTML to DivContainer $('#exampleModal').modal('show'); //Once loaded, show the modal }, error: function (err) { console.log(err); } }); }); }); </script> }
Затем в моем домашнем контроллере у меня есть actionResult, который должен возвращать частичное представление
public ActionResult Roles() { return PartialView("Roles"); }
Я не могу понять, почему это не работает. Пожалуйста помочь.
Pupop должен появиться при нажатии на кнопку с id =btnTrigger
Что я уже пробовал:
I tried several tutorials, read modal documentation, and applied fixes from stackoverflow nothing worked for me. I must be missing something very simple and trivial I just can't see it.