Bootstrap 4模式闪烁且不显示

时间:2019-07-06 12:48:06

标签: javascript jquery asp.net twitter-bootstrap

我使用一个函数来加载放置在页面顶部的模态:

        function loadModal(url) {
            $('#modal-container').load(url, function (result) {
                console.log(result);
                $('#modal').modal({ show: true });
            });
            return false;
        }

然后,在页面正文中,将这个空div放在此处:

<div id="modal-container"></div>

这是我要加载的页面。它位于一个单独的文件中,并在给出URL时加载:

@model ManagementStudio.Data.ViewModels.ApplicationRoleDetailsViewModel
<script>
    $(document).ready(function () {

    });
    $(document).on("submit","#modal",function (e) {
        e.preventDefault();
        var form_data = $(this).serialize();
        $.ajax({
            url: "@Url.Action("SaveRole", @ViewContext.RouteData.Values["controller"].ToString())",
            method: "POST",
            data: form_data,
            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
            success: function (result) {
                if (result.success) {
                    $(document).off("submit");
                    $(document).off("submit", "#save");
                    $('#modal').off('#save');
                    $.modal.close();
                    return;
                }
                $.each(result.errors, function (index, item) {
                    // Get message placeholder
                    var element = $('[data-valmsg-for="' + item.propertyName + '"]');
                    element.empty();
                    // Update message
                    element.append($('<span></span>').text(item.errorMessage));
                    // Update class names
                    element.removeClass('field-validation-valid').addClass('field-validation-error');
                    $('#' + item.propertyName).removeClass('valid').addClass('input-validation-error');
                });
            }
        });
        return false;
    });
</script>
<div class="modal" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="col-sm-12">
                @if (Model.Id == null)
                {
                    <h2>Add Role</h2>
                }
                else
                {
                    <h2>Edit Role</h2>
                }
                <hr />
            </div>
        </div>
    </div>
</div>

这是我用来发送网址以加载模式的href:

<a href="#" onclick="return loadModal("/Applications/Applications/RoleDetails?Id=800fd767-98bb-42f1-9183-377646b826bb&amp;ApplicationId=300e235f-2e4e-4c64-9ae7-d1ac09846afa")">SystemAdministrator</a>

但是,当我单击该URL时,会出现闪烁,然后我的模式不显示。没有黑色背景或其他任何东西。

当我查看Chrome调试器时,内容已全部加载,但模式div中的显示设置为无。

我不确定我错过了什么。

编辑:

这是我的标题:

<script src="~/jquery/jquery.min.js"></script>
    <script src="~/jquery-validate/jquery.validate.js"></script>
    <script src="~/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
    <script src="~/jqueryui/jquery-ui.js"></script>
    <script src="~/popper.js/umd/popper.js"></script>
    <script src="~/twitter-bootstrap/js/bootstrap.js"></script>

编辑:

我删除了loadModal函数并将其更改为:

$('body').on('click', '[data-toggle="modal"]', function () {
    $($(this).data("target") + '#modal-container').load($(this).data("remote"));
}); 

我的链接也是如此:

<a href="#" data-remote="/Applications/Applications/RoleDetails?Id=800fd767-98bb-42f1-9183-377646b826bb&amp;ApplicationId=300e235f-2e4e-4c64-9ae7-d1ac09846afa" data-toggle="modal" data-target="#modal-container">SystemAdministrator</a>

但是,现在的问题是背景对我而言而不是我的模态出现。

0 个答案:

没有答案