2012-12-21 78 views
3

我試圖運行此報告頁面,該頁面正在頁面上顯示,它似乎在IE中正常工作/顯示正常,但是當我在Firefox或Chrome中運行它時,我只能看到報告的標題欄,或者我必須刷新報告或頁面,然後才能正常工作 - 還嘗試單擊報告標題上的下一個和上一個頁面箭頭,以正確顯示頁面上的報告。我不確定究竟是什麼原因,或者如果可以修復,但有時會令人沮喪。ReportViewer在Firefox和Chrome中未正確顯示報告

這就是我對頁面運行/顯示報告:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ActivityReport.aspx.cs" Inherits="Kids.MVC.Reporting.ActivityReport" %> 
<form id="form" runat="server"> 
    <asp:ScriptManager ID="scriptManager" runat="server" EnablePartialRendering="false" /> 
    <uc1:ReportViewer ID="reportViewer" runat="server" /> 
</form> 

這是我的ReportViewer d isplay頁面我有:

<%@ 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> 
+0

的Web開發人員的口頭禪:「如果它在IE瀏覽器,而不是其他的瀏覽器,你的代碼是錯誤的」永遠不要使用IE作爲事情應該如何工作的參考。但是你沒有足夠的幫助我們來幫助你。鏈接會更好,但如果你只顯示生成的標記,jsfiddle會很好,因爲我們大多數人不使用asp。 – Rob

+0

@Rob - 明白。但是我的代碼在Firefox和Chrome中都能正常工作,所以我必須刷新才能顯示整個報告,而這可能會發生在5次中的2次。有時它加載完美,其他人我必須刷新頁面,我不確定是否有原因。 – Masriyah

回答

0

奇怪的是,我發現了故障的原因。由於這只是發生在某些報告中,我比較了報告,並注意到我有一個換行符的報告導致了故障並且報告沒有以FF或鉻顯示(僅顯示報告的標題)。所以取消換行解決了我的問題。我還用文本框中的一些分數替換了換行符。

2

這個交易是微軟ReportViewer官方不支持鉻。
這個鏈接應該幫助http://msdn.microsoft.com/en-us/library/ms251673.aspx
但它在IE中完美運行! :)

說感謝MS)

+0

不知道是否要感謝 - 爲客戶提供一個能在IE上運行良好的報告頁面,但對於FF和Chrome,我不得不告訴他們刷新 - 雙擊並給它幾秒鐘 - 交叉手指和希望報告充分顯示,而不是一半。感謝您的信息:D – Masriyah

+1

沒問題!我也遇到過這個問題。要堅強:) – CoffeeCode

8

對此有一個非常簡單的修復。將ReportViewer控件放在一個div中,並將div的高度設置爲一個很大的數字(1000px是個不錯的選擇)。

設置SizeToReportContent =「true」也可以解決這個問題。

兩種解決方案都適用於我,但OP已將其設置爲true,因此它可能無法在所有情況下都能正常工作。

+0

它適合我。謝謝:) –

+0

非常感謝。也爲我工作。這樣一個簡單的修復。 – CrazyPaste

0

還有一個修復方法,只需從您使用reportviewer的頁面中刪除Doctype即可。

如果文本渲染問題然後設置CanGrow=false

它工作在我的情況下,所有的瀏覽器。

0

添加ZoomMode="PageWidth"SizeToReportContent="True"屬性到ReportViewer控制在Viewer.aspx page。

像:

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