win win 2008上的报告是空白的,但win7上没有

时间:2016-09-06 15:55:26

标签: c# asp.net iis-7 report windows-server-2008

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

但是,当在win server 2008上的iis上部署app时,报告将返回空白。

故障排除: 以下链接提供了以下说明 - 已确认

确保在计算机上安装了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

1 个答案:

答案 0 :(得分:0)

因此报告本身没有问题,但是KSib提到从数据库获取数据存在问题。使用日期时必须小心,特别是如果开发计算机的语言与部署服务器不同。