Jquery 在第一页加载数据库调用进程时显示加载gif的最佳方法

Jquery 在第一页加载数据库调用进程时显示加载gif的最佳方法,jquery,asp.net,ajax,vb.net,Jquery,Asp.net,Ajax,Vb.net,所以我对Ajax还是新手。我有一个ASP.NET向导面板包装在ASP Ajax UpdatePanel中。Ajax运行良好,当您逐步完成向导时,页面会进行部分更新。我甚至使用unbui.js jQuery库触发一个动画gif图像,以防止多个页面提交。我搞不清楚的是,当页面第一次加载时,由于长时间的数据库调用,向导面板最初加载几乎需要一分钟。这不是异步回发,因此我的动画gif不会触发。事实上,我只是在页面加载时得到一个小时的杯子。在长达一分钟的数据库调用生效时,是否有办法继续加载页面的其余内容并显

所以我对Ajax还是新手。我有一个ASP.NET向导面板包装在ASP Ajax UpdatePanel中。Ajax运行良好,当您逐步完成向导时,页面会进行部分更新。我甚至使用unbui.js jQuery库触发一个动画gif图像,以防止多个页面提交。我搞不清楚的是,当页面第一次加载时,由于长时间的数据库调用,向导面板最初加载几乎需要一分钟。这不是异步回发,因此我的动画gif不会触发。事实上,我只是在页面加载时得到一个小时的杯子。在长达一分钟的数据库调用生效时,是否有办法继续加载页面的其余内容并显示gif?我已尝试在页面加载后将DB调用移动到,但它仍在初始页面加载时执行,我无法异步执行该操作。
再说一次,我对异步的东西还不熟悉。这看起来应该很简单,但我被卡住了

更新: 好的,对我来说,棘手的部分是弄清楚如何使用Ajax调用进行数据加载。我几乎没有这方面的经验。这可能是一个难题,但实际上它在没有太多新代码的情况下运行得很好: 我将数据加载从页面加载移动到UpdatePanel的加载事件,但将其放在If IsPostBack中。这与以前运行的代码相同,但现在只在回发上运行。然后在我的标记中,我写了以下内容(感谢下面的答案):

$(文档).ready(函数()
{
__doPostBack('','');
});

默认情况下,我只是取消隐藏等待的div,并在加载数据后将其隐藏在If IsPostback块中。我不得不处理一些控件隐藏逻辑(向导的返回和继续按钮、loading.gif div等),但唯一的新代码就在上面

通常,在ajax调用开始之前,我会提供一个微调器或合理的指示加载动画。如果初始页面加载需要很长时间,您可以在$(文档)中使用ajax调用来启动长时间运行的流程

$(document).ready(function() {
    $('#someId').html('<img src="loading.gif"/>').load('complex.aspx');
});
$(文档).ready(函数(){
$('#someId').html('.load('complex.aspx');
});

是的,但这是第一次整页加载花费了这么长时间。因此,在加载完成之前,我不会显示页面的任何元素。我希望在初始页面加载时显示loading.gif,然后在加载完成后异步启动DB调用。然后在DB调用完成后禁用loading.gif。我只是不想这样做知道如何在加载和显示页面后将DB调用放入fire。因此,相反,在加载页面时,DB调用不会产生耗时的结果。DOM就绪后,立即启动ajax调用以启动执行,请参阅我的编辑。换句话说,加载“简单”页面时不包含数据。一旦页面具有loaded,ajax调用被触发以获取数据,从而使您能够完全控制适当的反馈机制,如微调器。是的,fr0man最初的想法是完全加载页面(包括db抓取)->显示微调器->加载页面->停止微调器。如果页面加载包括数据抓取,这实际上不起作用。Karim的想法是加载页面(无db抓取)->显示微调器->ajax微调调用(获取数据)->获取数据->停止微调器->显示数据。
$(document).ready(function() {
    $('#someId').html('<img src="loading.gif"/>').load('complex.aspx');
});