Crystal Report不显示在使用VS 2013构建的ASP.net网页中

Ire*_*esh 5 c# asp.net crystal-reports

我正在使用ASP.NET开发一个网站,我想在我的webform中显示一个报告.我使用水晶报告作为我的报告工具.我使用visual studio 2013作为我的IDE.这就是我所尝试过的.(我的SAP版本是13.0.9).

private void loadReport()
    {
        ReportDocument rpt = new ReportDocument();
        rpt.Load("D:\\Report_Test.rpt");
        rpt.VerifyDatabase();

        CrystalReportViewer1.ReportSource = rpt;

    }
Run Code Online (Sandbox Code Playgroud)

上面的代码适用于visual studio 2010但不适用于2013.当我加载页面时,它是空的.没有丢失任何错误.那么,如何使用Visual Studio 2013查看Crystal Report?

Jim*_*Jim 9

要检查的第一件事是报表查看器客户端文件是否可用,我怀疑这是你的问题(你可能会发现它默默地抛出了一个javascript错误!).在IIS中它应该创建一个虚拟目录,如果IIS表达,那么你需要手动移动查看器需要的文件,以下应该有效:

在您的应用程序的根目录中创建一个名为crystalreportviewers13文件夹的文件夹,将文件夹C:\ Program Files(x86)\ SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\Crystal Reports 2011\crystalreportviewers的内容复制到该文件夹​​中(源路径似乎在不同的机器上有所不同).

将其添加到web.config的配置中

<configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
    <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
Run Code Online (Sandbox Code Playgroud)

然后将其添加到web.config的配置部分

<businessObjects>
<crystalReports>
  <rptBuildProvider>
    <add embedRptInResource="true" />
  </rptBuildProvider>
  <crystalReportViewer>
    <add key="ResourceUri" value="/crystalreportviewers13" />
   </crystalReportViewer>
</crystalReports>
</businessObjects>
Run Code Online (Sandbox Code Playgroud)

它应该工作....

我首先从http://scn.sap.com/docs/DOC-7824下载最新版本

如果仍然没有显示,请检查您的web.config是否指向正确的版本.如果您仍然遇到问题,请检查HTML声明中的doc类型 - 我记得它与HTML5无法正常工作.

编辑:

在早期版本的水晶中,我上面提到的文件夹会自动复制到c:\ inetpub\wwwroot\aspnet_client\system_web\4_0_30319 - 如果你将整个aspnet_client复制到解决问题的应用程序的根目录中 - 在更高版本的水晶中我相信如果您在安装时没有运行IIS,则无论如何都不会创建该文件夹.