2013-05-03 68 views
0

我有一個小型的網站項目,這個項目的唯一目的是爲更大的應用程序提供報告。ReportViewer 10,ASPX,分頁問題

我有一個簡單的ReportViewer(10.0)控件的頁面「ReportManager.aspx」。

<div style="width:auto;"> 
    <form id="Form1" runat="server" style="width:100%; height: 100%;"> 
     <asp:ScriptManager ID="ScriptManager1" runat="server">   
     </asp:ScriptManager> 
     <rsweb:reportviewer id="ReportViewer1" runat="server" Width="100%" Height="100%"  AsyncRendering="false" SizeToReportContent="true"></rsweb:reportviewer> 
    </form>   
</div> 

<script runat="server"> 
    private void Page_Load(object sender, System.EventArgs e) 
    { 
     if (IsPostBack) 
     return; 

     ReportViewer1.ProcessingMode = ProcessingMode.Remote; 
     ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/ReportServer"); 
     ReportViewer1.ServerReport.ReportPath = "/SSRSReport"; 
     ReportParameter param = new ReportParameter("effective_date", "4/22/2013"); 
     ReportViewer1.ServerReport.SetParameters(param); 
     ReportViewer1.PageCountMode = PageCountMode.Actual; 
    } 
</script> 

在運行時更改reportviewer控件上的頁面會產生錯誤。

的錯誤是: Reserved.ReportViewerWebControl.axd OPTYPE =資源&版本= 10.0.30319.1 &名稱= ViewerScript

在3559線,看起來像這樣:

// Remove the current STYLE element, if it already exists. 
    if (oldStyleElement != null) 
     headElement.removeChild(oldStyleElement); 

headElement.removeChild(oldStyleElement);是錯誤顯示的行htmlfile:無效的參數。打破|繼續|忽視。

單擊「繼續」將導致報告無需任何樣式渲染。點擊「忽略」可以使報告正確呈現。

我運行的是Windows 2012 Server,Visual Studio 2012 Premium和IE8。 Win 7機器發生同樣的錯誤。

任何建議或已知的修復?

+0

我有同樣的問題(在V11的控制)與MVC應用程序中嵌入的ReportViewer,它將我推上了牆。 – JoeBrockhaus 2014-02-04 17:30:13

+0

我在.Net 4應用程序中使用VS 2012與ReportViewer版本11;問題依然存在。我可以打印所有頁面,但只能在瀏覽器中查看頁面1。其他人遇到這個問題找到解決辦法? – Taersious 2015-01-15 16:26:44

回答

0

我的報告也在MVC應用程序中。我之前實際上已經解決了這個問題。我想我通過刪除以下行來修復它:

ReportViewer1.ProcessingMode = ProcessingMode.Remote; 
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/ReportServer"); 
ReportViewer1.ServerReport.ReportPath = "/SSRSReport"; 

ReportViewer1.PageCountMode = PageCountMode.Actual; 

我更改了代碼以將所有數據存儲在標記中。

我做的另一件事是在ReportViewer1.ServerReport.SetParameters(param)下面添加 ReportViewer1.ServerReport.Refresh()。

我做了這些改變後,一切開始工作。

+0

你是否偶然使用IE8?我只能在MVC應用程序中用IE8重現這一點。不幸的是,這是該應用程序的目標瀏覽器。 >: – JoeBrockhaus 2014-02-12 22:25:23

+0

我正在使用IE10 – RiceRiceBaby 2014-02-19 15:13:20

0

儘管可疑會有所幫助,但我試着儘可能地刪除儘可能多的代碼隱藏,就像您建議的那樣,但這並沒有爲我解決這個問題。

然而,這是在我們的應用解決方案:

託管ReportViewer控件失蹤了<body>標籤.aspx頁。

這就是全部 !!

反高潮的,我知道,但顯然這會導致IE8(至少),以BARF上

headElement.removeChild(oldStyleElement); 

我很好奇,如果在你的應用程序做同樣的帶來的錯誤了。

只有我通過谷歌處理這個問題找到資源屈指可數,我無法相信這是不以任何人提到:-x

+0

這是一個空的代碼塊 – 2014-06-03 20:31:36

+0

大聲笑我認爲你是對的,然後我意識到我使用了擾流板降價。你必須徘徊看到它。 – JoeBrockhaus 2014-06-04 15:17:36

+0

我們在IE9中遇到同樣的錯誤,但是失敗的頁面有一個body標籤。想知道是否有其他人找到了不同的解決方案。 – 2016-11-15 20:20:26