我有一個包含ReportViewer控件的Web表單,一個DIV元素,所以我可以看到該頁面實際呈現。我看到我的頁面正確加載,我看到報告服務正在Fiddler中訪問,但從未顯示任何內容。報表查看器控件(Web)顯示空白報表
目前,我正在使用帶有靜態文本的報告,對其沒有任何查詢,以確保我將問題隔離開來。
我的頁面如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReportViewer.aspx.cs" Inherits="PeopleNet.Web.Views.Reports.ReportViewer" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/scripts/jquery-1.7.2.js" />
<asp:ScriptReference Path="~/scripts/fixReportViewer.js" />
</Scripts>
</asp:ScriptManager>
<div>
This is the report viewer page...
</div>
<rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer>
</form>
</body>
</html>
顯示報告的代碼是:
protected void Page_Load(object sender, EventArgs e)
{
this.ReportViewer1.ServerReport.ReportServerUrl = ConfigurationFacade.ReportServerUri;
this.ReportViewer1.ServerReport.ReportPath = { path to report name };
this.ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerCredentials(); // custom class implementing IReportServerCredentials as described in various places around the web, including SO
this.ReportViewer1.ServerReport.Refresh();
}
我的web.config文件中配置了所需的HttpHandlers的:
<system.web>
<!-- abbreviated... -->
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
</httpHandlers>
</system.web>
And:
<system.webServer>
<!-- abbreviated... -->
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</handlers>
</system.webServer>
服務器運行Windows 2008和SQL Server 2008 R2。
我使用的是SQL Server 2012的版本的瀏覽器,因爲我們都在更新我們的環境中,以2012年
我已經反覆驗證的過程中,該報告是從ReportManager訪問,沒有任何問題。
我一直在試圖訪問這個在IE9中,看到了與其他瀏覽器陳述的各種問題。
我目前(僅用於測試)將我的憑證作爲報告服務器憑證。我是一名Reporting Services管理員,也是服務器上的服務器管理員組的成員。
我檢查了事件日誌和ReportServerService日誌,並沒有發現任何不妥。
UPDATE:看起來像當AsyncRendering更改爲false,並確保我不會嘗試「SetParameters」用空的收集,這主要是得到清理:
this.ReportViewer1.AsyncRendering = false;
我是什麼在這裏配置/代碼丟失?
只是一個愚蠢的檢查/問題:你有沒有用新的,基本的(例如只是一個帶有硬編碼文本的文本框)報告來檢查它?另外,您可以添加您使用的ReportViewer控件的哪個版本? – Jeroen
是的,目前我正在使用一個帶有靜態文本的簡單頁面,只是爲了確保我能夠隔離問題。 – reallyJim
您是否仍然有問題,或者您的更新是否意味着您已經解決了問題? –