0

我有一个用户保存数据的 ASP.NET 页面。当他们单击保存按钮时,数据会保存在 vb 中,并且页面会重新加载以更新页面上的当前数据,以及他们刚刚保存的新数据。此页面上的某些数据库查询需要一段时间,并且用户在重新加载页面时尝试在页面上执行其他操作。

我可以以某种方式显示进度条的前面和中心吗?我一直在四处寻找,并找不到任何东西。我也不做回发。我正在重新加载页面以执行在页面加载时完成的查询。

我正在寻找 javascript、jquery 或 vb 解决方案。

4

2 回答 2

1

我建议使用 jquery 异步加载页面,并显示动画 gif 以显示它正在加载。在 jquery 中加载页面后,您可以删除动画 gif / 刷新页面。

$(document).ready(function () {

**$('<img src="/Images/ajax-loader.gif"')
.appendTo(#someID)**

...<ajax call to load page>...

 **$('#someID').find('img').remove();**      


});
于 2013-06-17T20:45:03.110 回答
1

人们通常通过放置加载动画而不是进度条来解决这个问题,因为为了了解页面的实际进度,您必须使用我目前不理解(或者甚至不存在)的不自然的复杂机制。

您可以在表单提交上触发一个简单的 javascript 事件,该事件将一个类添加到 BODY 并在加载后将其删除(如果它是一个 ajax 查询,否则它会自行删除)。这些示例事件适用于非 ajax 形式:

像这样(纯 JavaScript):

document.forms[0].onsubmit = function(){
   document.body.className += ' t-loading';
}

或者使用 jQuery:

$('FORM').submit(function(){
       $(document.body).addClass('t-loading');
});

然后你添加一个这样的CSS

BODY.t-loading { background:url(loading.gif) center center no-repeat; }
BODY.t-loading * { visibility:hidden; }

您可以在 google 中查找免费的加载图标。

于 2013-06-17T21:00:10.027 回答