我们在ASP.NET 3.5和ReportViewer与Google Chrome之间发现了一个有趣的问题.我们的页面工作正常,直到ReportViewer控件显示报表.
然后,Google Chrome会占用50%的cpu,看起来什么都不做.
我已经将ReportViewer控件解压缩到一个空白的Web窗体项目,以确认它的控件,而不是我的代码的流氓位.
我在本地模式下使用ReportViewer(RDLC文件)所以我推测它的2005版本?
有人见过这个并有解决方案吗?
菲尔
编辑:Vista Business x64上的Google Chrome 3.0.195.33
解决方法
解决方案实际上是一些ReportViewer
JavaScript导致Chrome中的无限循环,我发布了关于如何通过制作自定义版本的ReportViewer控件并修复损坏的JavaScript来解决此问题的源代码(我已经丢失了链接到解决方案,但我没有写这个,只是用它:))
我可以确认,现在我们已经升级到Visual Studio 2010中的最新ReportViewer,Chrome cpu问题不再存在,并且不需要这种解决方法.
public class MyReportViewer : Microsoft.Reporting.WebForms.ReportViewer { protected override void Render(HtmlTextWriter writer) { using (StringWriter sw = new StringWriter()) { HtmlTextWriter tmpWriter = new HtmlTextWriter(sw); base.Render(tmpWriter); string val = sw.ToString(); val = val.Replace(@"!= 'javascript:\'\''",@"!= 'javascript:\'\'' && false"); writer.Write(val); } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。