【问题标题】:Crystal Report Viewer print/export buttons not working in ASP.NET MVC appCrystal Report Viewer 打印/导出按钮在 ASP.NET MVC 应用程序中不起作用
【发布时间】:2009-12-14 02:05:07
【问题描述】:

我的 MVC 应用程序使用推送模型和 CR 查看器进行报告。在查看器中显示报告时,一切都很好,但是打印/导出按钮会给出 javascript 错误“此操作不支持对象”。我正在使用 VS 2008 和 MVC。这发生在我的开发环境中。有什么想法吗?

【问题讨论】:

  • 海迈克,我想这可能是由于你的水晶报告版本与 asp.net mvc ...
  • 应该是什么版本? VS 中的 about 框表示它是 VS 2008 的 Crystal 报告。解决方案资源管理器中 dll 的版本为 10.5.3700.0

标签: asp.net crystal-reports printing


【解决方案1】:

这个问题的答案是如此愚蠢以至于令人尴尬——我的弹出窗口阻止程序导致了这个错误。但是,我确实收到了另一个错误或在部署的站点上,这是在“aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer4/html/crystalexportdialog.htm”上找不到的404。我刚刚在站点上创建了文件夹,并将 C:\Windows\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\CrystalReportWebFormViewer4 的内容复制到它并修复了它。

【讨论】:

    【解决方案2】:

    我的问题几乎和你的不同。当我单击导出打印时,我的报告变得清晰。我将我的 aspx page_load 事件更新为:

    if (!isPostBack)
    {
        Dataset allCompanies=datasetMethod(); ///Method Retaining a dataset
        ReportDocument oRpt=new ReportDocument();
        oRpt.SetDataSource(allCompanies);
        CrystalReportViewer1.ReportSource = oRpt;
        Session["Report"] = oRpt;
    }
    else
    {
         CrystalReportViewer1.ReportSource = Session["Report"];
    }
    

    【讨论】:

    • 使用 Crystal Report Web 查看器,您必须将报表文档存储在会话中,并在页面处于回发状态时将其用作数据源。没有这个,不仅您的打印和导出按钮不起作用,而且如果您使用分页以及导致报表查看器重新加载的任何内容,您也会遇到问题。没有这个..“当前”报告文档实际上正在从头开始刷新,并且忘记了导致帖子重新开始的原因。
    【解决方案3】:

    Crystal Report 使用 javascript 文件进行打印,其自己的图像应包含在网站的根目录中。 我已经通过在我网站的根目录上创建文件夹解决了这个问题

    aspnet_client/system_web/2_0_50727/

    并从此路径复制文件夹CrystalReportWebFormViewer4

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\CrystalReportWebFormViewer4

    在我创建的 2_0_50727 文件夹中。现在显示打印图像和打印/导出按钮,打印和导出功能也正常工作。

    谢谢。

    【讨论】:

      【解决方案4】:

      我在 IIS 上部署网站时也遇到了同样的问题。 Crystal Report 没有显示printnextprevious 等按钮,然后我只是在wwwroot 文件夹中创建了一个文件夹。

      完整路径为:

      C:\inetpub\wwwroot\aspnet_client\System_Web\2_0_50727`
      

      我从

      复制了CrystalReportWebFormViewer4

      C:\Windows\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\CrystalReportWebFormViewer4

      并粘贴到2_0_50727 文件夹中。

      现在一切正常,但在浏览器上,您必须允许弹出窗口打印您的文档。

      【讨论】:

        【解决方案5】:

        当我从 IIS 中删除 Default Web Site 并添加一个位置不同的新网站时,我遇到了同样的问题。

        如果您这样做,那么我们需要将aspnet_client 文件夹从位置C:\inetpub\wwwroot 复制到新配置的网站所映射的位置。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-09-14
          • 2023-03-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多