ReportViewer在Chrome 浏览器中无法显示的解决方法
2013-03-03 00:53
615 查看
Vs2010中使用ReportViewer显示报表。在IE下显示正常,但到Chrome下无法显示报表,但报表工具条可以显示。说明数据有取出,但无法显示。在网上找到了解决方法。
主要原因是ReportViewer中的Js在Chrome下会造成死循环。
解决方法是重写ReportViewer的Render事件。具体代码如下。
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);
}
}
}
然后我们使用重写过的MyReportViewer加载报表数据。 Html代码如下:
<cc1:MyReportViewer ID="rvSignUp" runat="server" EnableTheming="false" Width="100%"
Height="100%" ShowWaitControlCancelLink="false" ShowPromptAreaButton="false"
ShowCredentialPrompts="false" ShowExportControls="false" SizeToReportContent="true">
</cc1:MyReportViewer>
参考的网上原文为:http://stackoverflow.com/questions/1784642/asp-net-reportviewer-google-chrome-cpu-usage
============================================================================================
方法2:
这样可以出现导出按钮。再来打印。
主要原因是ReportViewer中的Js在Chrome下会造成死循环。
解决方法是重写ReportViewer的Render事件。具体代码如下。
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);
}
}
}
然后我们使用重写过的MyReportViewer加载报表数据。 Html代码如下:
<cc1:MyReportViewer ID="rvSignUp" runat="server" EnableTheming="false" Width="100%"
Height="100%" ShowWaitControlCancelLink="false" ShowPromptAreaButton="false"
ShowCredentialPrompts="false" ShowExportControls="false" SizeToReportContent="true">
</cc1:MyReportViewer>
参考的网上原文为:http://stackoverflow.com/questions/1784642/asp-net-reportviewer-google-chrome-cpu-usage
============================================================================================
方法2:
<table id="reportviewertable" align="center"> <tr> <td> <asp:Label ID="lblErrorMessage" runat="server" Font-Bold="True" ForeColor="Red" Visible="False" /> </td> </tr> <tr> <td width="760px"> <rsweb:ReportViewer ID="rvRepViewer" runat="server" width="100%" height="100%" ZoomMode="PageWidth" ShowBackButton="true" SizeToReportContent="True" /> </td> </tr> </table>
这样可以出现导出按钮。再来打印。
相关文章推荐
- ReportViewer在Chrome 浏览器中无法显示的解决方法
- ReportViewer在Chrome 浏览器中无法显示的解决方法
- 【.Net码农】ReportViewer在Chrome 浏览器中无法显示的解决方法
- 网站发布在中文操作系统,但ReportViewer的工具栏显示为英文的解决方法
- 其他浏览器(firefox,chrome)可以上网 ie(Internet Explorer)无法上网 解决方法
- Visual Studio提示“无法启动IIS Express Web服务器”的解决方法 vs调试显示无法显示此页面 ,vs调试浏览器白页
- Visual Studio提示“无法启动IIS Express Web服务器”的解决方法 vs调试显示无法显示此页面 ,vs调试浏览器白页
- win8系统谷歌的Chrome无法设置默认浏览器的解决方法
- 解决CHROME中画布中无法显示图片的方法
- 网站发布在中文操作系统,但ReportViewer的工具栏显示为英文的解决方法
- chrome字体小于12PX无法显示的解决方法
- chrome 360 等浏览器无法预览Axure文件,解决方法
- ie9后浏览器fckeditor无法上传图片、弹出浮层内容不显示的解决方法
- chrome 360 等浏览器无法预览Axure文件,解决方法
- 在IE下正常显示但Chrome下无法显示的解决方法
- 网站发布在中文操作系统,但ReportViewer的工具栏显示为英文的解决方法
- JZTK项目 驾照题库项目servlet层得到的json字符串在浏览器中 汉字部分出现问号?无法正常显示的解决方法
- ASP.net在Chrome中无法显示动态菜单的解决方法
- 解决CHROME中画布中无法显示图片的方法
- 【操作系统】chrome插件无法安装解决方法或者提示“将该项添加到 Chrome 浏览器时出错。请刷新此页面,然后重试。”的解决办法