Crystal Report Viewer打印/导出按钮在ASP.NET MVC应用程序中不起作用

时间:2009-12-14 02:05:08

标签: asp.net crystal-reports printing

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

5 个答案:

答案 0 :(得分:2)

对此的答案是如此愚蠢的尴尬 - 我的弹出窗口拦截器导致了这个错误。我确实得到了另一个错误,或者在部署的站点上,但是在'aspnet_client / System_Web / 2_0_50727 / CrystalReportWebFormViewer4 / html / crystalexportdialog.htm'上找不到404。我刚创建了该文件夹并在网站上将C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ ASP.NETClientFiles \ CrystalReportWebFormViewer4的内容复制到它并修复了它。

答案 1 :(得分:2)

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

<强> aspnet_client / system_web / 2_0_50727 /

并从此路径复制文件夹 CrystalReportWebFormViewer4

<强> C:\的Windows \ Microsoft.NET \框架\ V2.0.50727 \ ASP.NETClientFiles \ CrystalReportWebFormViewer4

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

感谢。

答案 2 :(得分:1)

我的问题几乎与你的问题不一样。当我点击导出打印时,我的报告变得清晰了。我将我的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"];
}

答案 3 :(得分:1)

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

完整路径是:

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

我从

复制了CrystalReportWebFormViewer4

C:\的Windows \ Microsoft.NET \框架\ V2.0.50727 \ ASP.NETClientFiles \ CrystalReportWebFormViewer4

并粘贴到2_0_50727文件夹中。

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

答案 4 :(得分:1)

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

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