0

我正在尝试在gridview单击按钮后将数据加载到中时显示动画图像。它在本地主机上运行良好,但是当我部署它时,它就不行了。我搜索了帖子,但我没有犯任何似乎最常见的错误......即。将 等放在updateprogress里面updatepanel。但是,我使用的是masterpage- 但上面masterpage没有scriptmanager。当我将生产与 localhost 进行比较时,我注意到我的视图源页面存在以下差异。任何人都可以帮助我理解为什么使这项工作的 JavaScript 可能不会出现在生产中吗?

本地主机(它工作的地方)我在页面底部看到这个:

[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();
4

2 回答 2

0

这可能不是您理想的解决方案,但您可以仅使用 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 回发的开始和结束(分别)触发。祝你好运。

于 2010-10-08T01:00:06.290 回答
0

将我的项目从 VS2008 转换为 VS2010 后,我真的很难过。UpdateProgress 突然停止工作,这在 VS2008 中很好。花了一个下午的时间寻找答案,试验了这个那个,最后我从Scott Gu 的帖子中发现了问题所在。

这是一个自动生成的 web.config 条目 'xhtmlConformance mode="Legacy"'。

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

快乐编码

于 2010-10-08T00:43:40.807 回答