Windows Server 2008 上的报告是空白的,但在 win7 上不是

Reports are blank on win serv 2008 but not on win7

我有一个 asp.net C# 应用程序,在构建或调试应用程序(开发环境)时,如果我们将它部署到 win 7 上的 iis 7,报告将显示。

然而,当在 win server 2008 上的 iis 上部署应用程序时,报告将 return 空白。

疑难解答: 按照以下链接提供的说明进行操作 - 已确认

确保机器上安装了 reportviewer dll(win serv 2008 当前使用版本 10.0.0.0)- 已确认

其他应用程序已在此服务器上运行并且运行良好 - 已确认

老实说,我不知道问题出在哪里

Web.Config

<system.web>
<assemblies>
            <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
            <add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
            <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
            <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />

</assemblies>
 <httpHandlers>
            <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
</httpHandlers>
</system.web>
<system.webServer>
  <handlers>
    <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </handlers>

page.Aspx

    <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
    <div id="tabs">
      <ul>
       <li><a href="#tabs-1">Tab1</a></li>
      </ul>
    <div id="tabs-1">
      <rsweb:ReportViewer  ID="ReportViewer1"  runat="server"  width="100%" Height="100%" SizeToReportContent="true" AsyncRendering="false">
      </rsweb:ReportViewer>
    </div>

代码隐藏

 private void getReport(ReportViewer report_viewer, string report_path, ReportParameter report_parameter, DataTable sourceTable, DataTable sourceGraph)
    {
        report_viewer.ProcessingMode = ProcessingMode.Local;
        report_viewer.LocalReport.ReportPath = Server.MapPath(report_path);
        report_viewer.LocalReport.DataSources.Clear();
        report_viewer.LocalReport.SetParameters(new ReportParameter[] { p1 });
        report_viewer.LocalReport.DataSources.Add(new ReportDataSource("Table", sourceTable));
        report_viewer.LocalReport.DataSources.Add(new ReportDataSource("Graph", sourceGraph));
        report_viewer.LocalReport.Refresh();

    }

Reference 1

Reference 2

所以报告本身没有问题,但是正如 KSib 提到的那样,从数据库获取数据时出现问题。使用日期时必须小心,尤其是当开发机器使用与部署服务器不同的语言时。