在数据表JQuery完成之前,不会显示模态

时间:2019-02-27 17:56:36

标签: javascript datatables modal-dialog pop

我在将Datatables JQuery(版本1.10)实现到ASP NET项目时遇到麻烦。 问题是我正在将所有necesarry配置加载到Master JS文件中。

我首先将所有数据绑定到Gridview中,然后自动执行上述JS文件。

我的问题是(由于后端结构,我无法使用AJAX)我需要将所有数据绑定到codebehind(C#)的gridview中,一旦数据被绑定,就应用JS脚本。一切正常。但是,由于绑定了数据需要花费一些时间,直到准备好datatable的css和javascript。同时,gridview以可怕的样式显示给用户,因此我想避免这种情况,因为它不利于用户体验。

我正在尝试使用Javascript

openModal('id_modal');
load_datatable('id_table'); //function that loads all necessary for 
                            //datatables

,但模态在load_datatable完成后出现。我不知道是什么原因造成的。

值得一提的是 master JS工作正常。样式已成功应用,但再次没有弹出模式。

更新 我想弹出的模式是

<div class="modal fade" id="id_modal">
        <div class="text-center">
            <asp:Image ID="imgLoading" runat="server" 
              ImageUrl="~/img/loading.svg" AlternateText="Loading..." 
               ToolTip="Loading ..." CssClass="imageLoading" />
        </div>
    </div>

我还尝试了一个没有图像,没有asp控件等的简单模态,但是什么也没发生。

1 个答案:

答案 0 :(得分:1)

我找到了部分解决方案。

在我创建的母版页中

<div class="loader"></div>

放在HTML代码的顶部。

然后在masterPage.css中,我定义了该类:

    .loader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: #212529;
    background: /*HERE IT GOES THE IMAGE YOU WANT TO DISPLAY*/
    opacity: .9;
}

最后,在我的Master.js中:

$(document).ready(function(){
    //DO ALL THE STUFF YOU NEED
    //AND AT THE END

    $('.loader').hide();     
});

它将在每次加载Web表单时显示模式,并在加载所有HTML时将其隐藏。