Asp.net mvc ReportViewer在Firefox和Chrome中未正确显示报告

Asp.net mvc ReportViewer在Firefox和Chrome中未正确显示报告,asp.net-mvc,report-viewer2010,Asp.net Mvc,Report Viewer2010,我正在尝试运行显示在页面上的此报告页面,它在IE中似乎工作/显示良好,但当我在Firefox或Chrome中运行它时,我只会看到报告的标题栏,我必须刷新报告或页面,然后它就会工作-还尝试单击报告标题上的下一页和上一页箭头以在页面上正确显示报告。我不确定原因是什么,或者是否可以修复,但这有时会令人沮丧 这是我为运行/显示报告的页面所做的: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ActivityReport.aspx

我正在尝试运行显示在页面上的此报告页面,它在IE中似乎工作/显示良好,但当我在Firefox或Chrome中运行它时,我只会看到报告的标题栏,我必须刷新报告或页面,然后它就会工作-还尝试单击报告标题上的下一页和上一页箭头以在页面上正确显示报告。我不确定原因是什么,或者是否可以修复,但这有时会令人沮丧

这是我为运行/显示报告的页面所做的:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ActivityReport.aspx.cs" Inherits="Kids.MVC.Reporting.ActivityReport" %>


这是我的ReportViewer显示页面,我有:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ReportViewer.ascx.cs"
Inherits="Kids.MVC.Reporting.ReportViewer" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<style type="text/css">
    .ReportViewer table
    {
        border-collapse: collapse;
        border-spacing: 0;
    }
    .ReportViewer *  
    {
        background-image:none;       
    }
</style>
<div class="ReportViewer">
    <rsweb:ReportViewer ID="reportViewer" runat="server" Width="100%" Height="100%" AsyncRendering="False"
        ExportContentDisposition="AlwaysAttachment" SizeToReportContent="true" BackColor="White" ShowRefreshButton="False">
    </rsweb:ReportViewer>
</div>

.ReportViewer表
{
边界塌陷:塌陷;
边界间距:0;
}
.ReportViewer*
{
背景图像:无;
}

交易是微软ReportViewer官方不支持Chrome
此链接应该会有所帮助
但它在IE中工作得非常好!:)


向女士表示感谢;)

奇怪的是,我找到了故障的原因。由于这种情况只发生在一些报告中,我比较了一些报告,并注意到我有一个换行的报告导致了故障,并且报告没有显示在FF或chrome中(仅显示报告的标题)。所以去掉断线就解决了我的问题。我还用文本框中的一堆分数不足来替换换行符

有一个非常简单的解决方法。将ReportViewer控件放在一个div中,并将div的高度设置为一个较大的数字(1000px是一个很好的圆形选择)

设置SizeToReportContent=“true”也可以解决此问题


这两种解决方案都可以让我使用,但OP已经将其设置为true,因此可能无法在所有情况下使用。

还有另一个解决方案,只需从使用reportviewer的页面中删除
Doctype

如果存在文本框渲染问题,则设置
CanGrow=false

它适用于我的所有浏览器。

ZoomMode=“PageWidth”
SizeToReportContent=“True”
属性添加到
ReportViewer.aspx页面中的
ReportViewer
控件

如:

<rsweb:ReportViewer ID="ReportViewer" 
   runat="server" Width="100%" Height="100%" 
   ZoomMode="PageWidth" SizeToReportContent="True">
</rsweb:ReportViewer>


web开发人员的口头禅:“如果它在IE中工作,而不是在其他浏览器中,那么你的代码是错误的。”永远不要将IE作为工作方式的参考。但是你没有表现出足够的能力来帮助我们。链接会更好,但如果只显示生成的标记,那么JSFIDLE就更好了,因为我们大多数人都不使用asp。@Rob-明白。但是我的代码在Firefox和Chrome中确实可以工作,因为我必须刷新以显示整个报告,这可能会发生5次中的2次。有时它加载得非常好,其他我必须刷新页面,我不确定是否有原因。不确定是否要感谢-为客户提供一个在IE上运行良好的报告页面非常不令人满意,但对于FF和Chrome,我必须告诉他们刷新-双击并给它几秒钟-交叉手指并希望报告能充分展示,而不是一半。谢谢你的信息:谢谢。也为我工作。这么简单的修复。
<rsweb:ReportViewer ID="ReportViewer" 
   runat="server" Width="100%" Height="100%" 
   ZoomMode="PageWidth" SizeToReportContent="True">
</rsweb:ReportViewer>