我有一个用户保存数据的ASP.NET页面。当他们单击保存按钮时,数据将保存在vb中,页面将重新加载以更新页面上的当前数据,并使用刚刚保存的新数据。此页面上的某些数据库查询需要一段时间,用户会在重新加载时尝试在页面上执行其他操作。
我可以以某种方式显示前进和中心的进度条吗?我一直在环顾四周,找不到任何东西。我也没有回复。我正在重新加载页面以执行在pageload上完成的查询。
我正在寻找一个javascript,jquery或vb解决方案。
答案 0 :(得分:1)
我建议使用jquery异步加载页面,并显示一个动画gif来显示它正在加载。页面加载到jquery后,您可以删除aniamted gif /刷新页面。
$(document).ready(function () {
**$('<img src="/Images/ajax-loader.gif"')
.appendTo(#someID)**
...<ajax call to load page>...
**$('#someID').find('img').remove();**
});
答案 1 :(得分: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; }