“保存,请稍候”显示当前操作的自定义消息

时间:2014-02-03 16:18:12

标签: c# javascript asp.net-mvc razor

我有一个巨大的网络表单(包括js的30k行代码),当我点击保存时,需要一些时间。 因此,我想在警报下调暗页面,显示一条自定义消息,说明“正在保存,请等待”,并显示正在发生的操作,因此必须知道控制器当前正在做什么(保存附件或...)。 警报不是我想要的,我不想让用户在点击它时取消保存。

实现这一目标的任何特殊或通常方式?

1 个答案:

答案 0 :(得分:2)

您需要做的是创建一个“加载div”,它将位于页面上并阻止您在任何地方点击。

您可以这样称呼它:

脚本

window.onbeforeunload = function showLoadDiv() {
    $('#loadingWrapper').fadeIn();
};

CSS:

#loadingWrapper{
position:fixed;
width:100%;
height:100%;
background:url(../Images/transparentimage.png) repeat;
top:0;
left:0;
z-index: 922 !important;
}

HTML:

<div id="loadingWrapper"></div>

然后,一旦页面加载,您可以只执行$('#loadingWrapper').fadeOut();,或者如果您在进程完成后调用新操作,则会删除加载面板。