asp.Net   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – 报表查看器控件(Web)显示空白报告大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含ReportViewer控件的Web表单,一个DIV元素,@R_443_9447@看到该页面实际呈现。我看到我的页面正确加载,我看到在Fiddler中访问的报表服务,但是从来没有任何显示。

目前,我正在使用一个静态文本的报告,没有查询,以确保我隔离问题。

我的页面如下:

<%@ 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文件根据需要配置httpHandler:

<system.web>
    <!-- abbreviated... -->
    <httpHandlers>
        <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.ReporTing.WebForms.httpHandler,Microsoft.ReportViewer.WebForms,PublicKeyToken=89845dcd8080cc91" validate="false" />
    </httpHandlers>
</system.web>

和:

<system.webServer>
    <!-- abbreviated... -->
    <handlers>
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.ReporTing.WebForms.httpHandler,PublicKeyToken=89845dcd8080cc91" />
    </handlers>
</system.webServer>

服务器运行Windows 2008和SQL Server 2008 R2。

我正在使用sqL Server 2012版本的查看器,因为我们正在将我们的环境更新到2012。

我已经反复验证报告可以从ReportManager访问,没有任何问题。

我试图在IE9中访问这个,看到与其他浏览器一起说明的各种问题。

我目前(仅用于测试)传递我的凭据作为报表服务器凭据。我是ReporTing services管理员,也是服务器上的服务器管理员组成员。

我已经检查了事件日志和ReportServerservice日志,并没有发现任何错误。

更新:看起来像将AsyncRendering更改为false,并确保我不尝试使用空集合“SetParameters”,这主要被清除:

this.ReportViewer1.AsyncRendering = false;

我在配置/代码中缺少什么?

解决方法

我解决这个问题的方法是将报表查看器的高度设置为100%。没有报告显示。将高度更改为px值(即900像素)可使报表查看器工作。

大佬总结

以上是大佬教程为你收集整理的asp.net – 报表查看器控件(Web)显示空白报告全部内容,希望文章能够帮你解决asp.net – 报表查看器控件(Web)显示空白报告所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。