我在将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控件等的简单模态,但是什么也没发生。
答案 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时将其隐藏。