2010-11-23 37 views
2

我有一个应用程序使用asp .net chartarea在报表上创建图表。运行时,该图表在浏览器窗口中完美显示。当我尝试打印预览或直接打印时,有时图表只显示为x,看起来它无法找到图表。对于某些用户来说,它可以正常工作,而其他用户则只会显示x。这是支持的项目,所以我不能改变任何事情。我已经看到了多个pcs,oses和ie浏览器版本中的奇怪行为。图表区域未在打印预览中显示

没有人有任何想法,我怎么能解决这个问题?我在哪里寻找解决打印预览问题?

+0

你知道图表是以图像,Flash还是Silverlight的形式呈现吗?如果是图像,是背景图像还是前景图像? (背景图像通常不会打印,尽管这是一个超出您的控制范围的浏览器实现细节)。 – 2010-11-23 13:58:44

+0

它呈现为图像,但不是背景图像。 – czuroski 2010-11-23 14:03:32

回答

3

尝试编辑你的web.config(在appSettings部分)增加值deleteAfterServicing = false添加到 “ChartImageHandler” 键,类似如下:

<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;deleteAfterServicing=false;" /> 

this questionthis page

找到解释是显然,动态生成的图表图像几乎在其首次被提供给浏览器后立即被删除,并且对该特定图表的后续请求将失败。某些浏览器可能会缓存图像,其他浏览器会重新请求打印预览,但无法获取它。

上面的web.config键应该保留这些图像,可能会牺牲一些磁盘空间和/或内存。