AJAX UpdateProgress在服务器上不工作?

AJAX UpdateProgress在服务器上不工作?,ajax,updateprogress,Ajax,Updateprogress,我试图在点击按钮后将数据加载到gridview时显示动画图像。它在localhost上工作得很好,但当我部署它时,它就不行了。我已经搜索了所有帖子,但我没有犯任何看起来最常见的错误。。。例如,将updateprogress放在updatepanel中,等等。但是,我使用的是母版页——但是母版页上没有脚本管理器。当我将生产环境与本地主机进行比较时,我注意到我的视图源页面中存在以下差异。。有人能帮我理解为什么用于实现这一功能的JavaScript可能不会出现在生产中吗 在localhost(它工作的

我试图在点击按钮后将数据加载到
gridview
时显示动画图像。它在localhost上工作得很好,但当我部署它时,它就不行了。我已经搜索了所有帖子,但我没有犯任何看起来最常见的错误。。。例如,将
updateprogress
放在
updatepanel
中,等等。但是,我使用的是
母版页
——但是
母版页
上没有
脚本管理器
。当我将生产环境与本地主机进行比较时,我注意到我的视图源页面中存在以下差异。。有人能帮我理解为什么用于实现这一功能的JavaScript可能不会出现在生产中吗

localhost(它工作的地方)我在页面底部看到:

[CDATA[
Sys.Application.initialize();
Sys.Application.add_init(function() {
    $create(Sys.UI._UpdateProgress, {"associatedUpdatePanelId":null,"displayAfter":500,"dynamicLayout":true}, null, null, $get("ctl00_ContentPlaceHolder1_UpdateProgress1"));
});
制作中(它不起作用的地方),我看到的就是这些:

Sys.Application.initialize();

在将我的项目从VS2008转换到VS2010之后,我经历了一段非常艰难的时期。UpdateProgress突然停止工作,这在VS2008中是正常的。花了整整一个下午的时间来搜索答案,并做了这样那样的实验,最后我发现了发帖中出现的问题

它是自动生成的web.config条目“xhtmlConformance mode=“Legacy””

禁用此功能后,它再次开始工作。对你来说可能不是这样,但对那些正在为同样的问题挣扎的人来说


快乐编码

这可能不是理想的解决方案,但您可以使用javascript显示()或隐藏()动画图像。使用以下javascript函数(并去掉UpdateProgress控件)应该可以做到这一点

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest); 
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest); 

 function beginRequest(sender, args) {
  document.getElementById('myImageElement').style.display = 'block';  
}

 function endRequest(sender, args) {
  document.getElementById('myImageElement').style.display = 'none';  
}
请记住,每次回发都会发生这种情况,您可能需要使用sender参数来推断哪个元素称为回发,并且只在点击正确的updatepanel时执行显示。这些事件分别在每次UpdatePanel回发的开始和结束时激发。祝你好运