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回发的开始和结束时激发。祝你好运