首先要检查的是报表查看器客户端文件是否可用,我怀疑这是您的问题(您可能会发现它默默地抛出了一个 javascript 错误!)。在 IIS 中它应该已经创建了一个虚拟目录,如果 IIS express,那么你需要手动移动查看器需要的文件,以下应该可以工作:
在应用程序的根目录中创建一个名为 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>
然后将其添加到 web.config 的配置部分
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
它应该可以工作....
我会先从http://scn.sap.com/docs/DOC-7824这里下载最新版本
如果仍然没有显示,请检查您的 web.config 是否指向正确的版本。如果您仍然遇到问题,请检查您的 HTML 声明中的文档类型 - 我记得它不适用于 HTML5。
编辑:
在 Crystal 的早期版本中,我上面提到的那个文件夹会自动复制到 c:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319 - 如果您将整个 aspnet_client 复制到解决问题的应用程序的根目录中 - 在后面水晶的版本我相信如果您在安装时没有运行 IIS,它无论如何都不会创建该文件夹。