我的MVC应用使用推模型和CR查看器进行报告。所有这些都非常适合在查看器中显示报告,但是打印/导出按钮会出现javascript错误“此操作不支持的对象”。我正在使用VS 2008和MVC。这发生在我的开发环境中。有什么想法吗?
答案 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没有向我显示print
,next
,previous
等按钮,然后我在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
复制到新配置的网站的映射位置。