【问题标题】:Two Bootstrap Modals freeze Page两个引导模式冻结页面
【发布时间】:2021-04-19 10:44:34
【问题描述】:

我有一个问题,当我在 .cshtml 文件的末尾声明了两个 Bootstrap Modal 时,打开第一个声明的 Modal 会导致整个页面冻结。

如果我改变两个模态的顺序,第一个声明的模态再次导致冻结。

因此我认为它必须与声明的地方有关。

我的一般设置是这样的(按此顺序):

第一次模态调用:

@Ajax.ActionLink("Action1", "Action1_AL", "Controller",
                            new { id = x },
                            new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "Preview_first_modal", InsertionMode = InsertionMode.Replace, OnSuccess = "Open_first_modal()" },
                            new { @class = "btn btn-sm btn-default" })

第二次模​​态调用:

@Ajax.ActionLink("Action2", "Action2_AL", "Controller",
                            new { id = y },
                            new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "Preview_second_modal", InsertionMode = InsertionMode.Replace, OnSuccess = "Open_second_modal()" },
                            new { @class = "btn btn-sm btn-default" })

第一个模态设置:

<div class="modal fade" id="my_first_modal" role="dialog">
    <div class="modal-dialog">
        <!-- Modal content -->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Title</h4>
            </div>
            <div class="modal-body align-self-center" id="Preview_first_modal">
                @*PartialView*@
            </div>
        </div>
    </div>
</div>

第二模态设置:

<div class="modal fade" id="my_second_modal" role="dialog">
    <div class="modal-dialog">
        <!-- Modal content -->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Title</h4>
            </div>
            <div class="modal-body align-self-center" id="Preview_second_modal">
                @*PartialView*@
            </div>
        </div>
    </div>
</div>

Javascript:

function Open_first_modal() {
    $('#my_first_modal').modal('show');
}

function Open_second_modal() {
    $('#my_second_modal').modal('show');
}

css 文件:

body {
}

th {
    border: solid 1px #ddd !important;
}

td {
    border: solid 1px #ddd !important;
}

table.dataTable.no-footer {
    border-bottom: 1px solid #ddd;
}

.dataTables_wrapper .dataTables_filter input {
    border: solid 1px #ddd;
}

thead > tr > th {
    border-bottom-width: 2px !important;
}

body .modal-dialog {
    max-width: 100%;
    width: auto !important;
    display: inline-block;
}

.modal {
    z-index: -1;
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.modal-open .modal {
    z-index: 1050;
}

在两种模式中,我都显示了一个 PartialView,它由 ActionLinks Action1_ALAction2_AL 加载。

在此设置中,单击按钮调用第一个模式会导致页面冻结。

你知道我该如何处理这个错误吗?提前谢谢!

编辑:添加了 .css 文件

【问题讨论】:

    标签: javascript html ajax asp.net-mvc model-view-controller


    【解决方案1】:

    我不知道到底出了什么问题,但是将模态属性 css 替换为

    .modal {
        text-align: center;
    }
    
    @media screen and (min-width: 768px) {
        .modal:before {
            display: inline-block;
            vertical-align: middle;
            content: " ";
            height: 100%;
        }
    }
    
    .modal-dialog {
        display: inline-block;
        text-align: left;
        max-width: 100%;
        width: auto !important;
        vertical-align: middle;
    }
    

    解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      相关资源
      最近更新 更多