我刚刚开始摆脱 ASP.NET UpdatePanels。我使用 jQuery 和 jTemplates 将 Web 服务的结果绑定到网格,一切正常。
事情是这样的:我试图在刷新表时显示一个旋转器 GIF(类似于 ASP.NET 中的 UpdateProgress),除了旋转器被冻结之外,我已经一切正常。为了看看发生了什么,我尝试将微调器从更新进度 div 移出,并移到我可以一直看到它的页面上。它不断旋转直到刷新开始,并保持冻结状态直到刷新完成,然后再次开始旋转。这并不是您真正想要的“请稍候”旋转器!
这是在 IE7 中 - 还没有机会在其他浏览器中进行测试。有什么想法吗? ajax 调用或客户端数据绑定是否占用大量资源,以至于浏览器无法处理其动画 GIF?
Update
这是刷新网格的代码。不确定这是同步还是异步。
updateConcessions = function(e) {
$.ajax({
type: "POST",
url: "Concessions.aspx/GetConcessions",
data: "{'Countries':'ga'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
applyTemplate(msg);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
}
});
}
applyTemplate = function(msg) {
$('div#TemplateTarget').setTemplate($('div#TemplateSource').html());
$('div#TemplateTarget').processTemplate(msg);
}
Update 2
我刚刚检查了jQuery 文档和$.ajax()
方法默认是异步的。只是为了好玩我添加了这个
$.ajax({
async: true,
...
这没有任何区别。