水晶报表工具栏出现红叉叉无法打印导出等问题的解决方法

来源:互联网 发布:做自己 知乎 编辑:程序博客网 时间:2024/04/30 01:23

转:http://www.cnblogs.com/babyt/archive/2008/11/19/1336719.html

常见场景:

使用WebForm方式开发水晶报表应用,在本机调试一切正常。但是发布到服务器上以后,报表可以正确显示。
但是工具栏上的图标却成了红叉叉,无法执行打印、导出操作,页面提示有脚本错误。

解决方法:

在此页面上点击右键,查看本页的HTML代码,查找export_over.gif (这就是那个导出图标的图片名称)
注意,这个地址不具有通用性,如果你显示的跟这个地址不一样,是完全正常的

 

 

这个红色标注的地址,是使用“文件系统”建立网站时出现的,实际物理位置是:
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/ASP.NETClientFiles/crystalreportviewers115

注意这个位置,因为你的项目打包的时候这个目录是不会被打进去的,所以你再按照此方式,查看本机调试正确的页面的HTML代码,找到对应的文件夹
将这个文件夹的文件/aspnet_client/System_Web/2_0_50727/crystalreportviewers115(你实际的可能与此不同) 整个拷贝到服务器上的对应位置即可。


一般情况下,是拷贝到 C:/inetpub/wwwroot 这个里面的对应目录里的

 

 

常见场景:

WebForm开发的水晶报表应用,本地调试正常,但是到了服务器上,工具栏可以正常显示,报表数据可以正常显示,唯一的问题就是图表的位置没有出现图,只是个红叉叉。

解决方法:

查看一下这个页面的HTML代码,在图表的位置,是类似于以下的一个图片

<img src="CrystalImageHandler.aspx?dynamicimage=cr_tmp_image_d587aabc-52c4-412b-b990-18dc8d0e8cb8.png" alt="图像" border="0" width="480px" height="288px" />

我们注意到CrystalImageHandler.aspx这个路径,是当前路径,但是该文件在我们的项目中又不存在。

查看能正常显示的图表项目的Web.config。会发现

<system.web>

  
<httpHandlers>
    
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=11.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
  
</httpHandlers>
</system.web>

 

这么一小节(你实际显示的跟这个版本可能会有所不同)。这个是添加图表后,程序自动在该配置文件中增加的一个httphandler。

出现此问题的原因多半是因为手工编辑web.config时,遗漏了这个部分。将你调试时使用的web.config的这一小节拷贝到发布机上即可

原创粉丝点击