C# Telerik图表加载不正确(ajax/脚本问题?)

C# Telerik图表加载不正确(ajax/脚本问题?),c#,jquery,ajax,asp.net-mvc-3,telerik,C#,Jquery,Ajax,Asp.net Mvc 3,Telerik,我有一个页面,其中包含带有Telerik图表的用户控件(也有网格,但工作正常)。从这个页面,用户可以点击一个按钮重定向到一个“打印机友好版本”类型的页面,该页面通过javascript打开一个新窗口,并进入一个稍微不同的视图(用于格式化和填充),但是telerik代码是一样的 问题是,我的图表在原始窗口中显示得很好,但新窗口基本上显示一个没有数据的空图表。此错误仅出现在IE中,并且仅适用于图表。不管出于什么原因,网格工作正常。我认为这是由于浏览器之间脚本缓存的差异造成的——如果我错了,请纠正我,

我有一个页面,其中包含带有Telerik图表的用户控件(也有网格,但工作正常)。从这个页面,用户可以点击一个按钮重定向到一个“打印机友好版本”类型的页面,该页面通过javascript打开一个新窗口,并进入一个稍微不同的视图(用于格式化和填充),但是telerik代码是一样的

问题是,我的图表在原始窗口中显示得很好,但新窗口基本上显示一个没有数据的空图表
。此错误仅出现在IE中,并且仅适用于图表。不管出于什么原因,网格工作正常。我认为这是由于浏览器之间脚本缓存的差异造成的——如果我错了,请纠正我,我对客户机导向的web开发还不太熟悉

无论如何,我在某个地方读到,Telerik在通过ajax加载数据和/或js文件时遇到问题,所以这可能就是问题所在?如果是这样的话,我该怎么做呢?如果没有,有什么想法可以导致这个问题?这让我非常沮丧,因为打印预览页面似乎应该是最简单的工作

编辑:

这些图表被呈现为html(如果有人能解释如何将它们呈现为图像,那就太棒了)。开发工具在chrome和IE之间显示出基本相同的东西。每当我的web服务返回时,我都会将它们合并,并查找它们之间的任何特性/差异。然而,与此同时,“渲染为图像”的概念听起来很有希望。这样我就可以保存第一页的图像,然后直接插入打印预览页,对吗?。由于它是一个打印预览页面,所以不需要进行交互或其他任何操作,所以效果很好

另一个(重要)编辑:

这些可能是罪魁祸首…

下面是关于这一点的更多细节:

b指的是,但看起来这是问题所在“>

这是一个并排工作(在chrome中)和不工作(在IE中)的示例:


您是否考虑过使用特定于打印的样式表,例如

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

在其中指定打印时要应用的样式

这样,您就避免了重新加载页面(重复的数据库点击等),并且不需要深入研究Telerik控件的AJAX

编辑:

关于使用图像而不是HTML,首先确保不会丢失任何功能/细节,然后查看
.Save()
RadChart控件的方法。您可以将其保存到内存流中,或者如果要重新使用图像,请将其保存到Web服务器上的目录中并定期清理。这样,您只需将打印版本指向图像,而不必重新生成图像


可能有用。

您是否考虑过使用特定于打印的样式表,例如

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

在其中指定打印时要应用的样式

这样,您就避免了重新加载页面(重复的数据库点击等),并且不需要深入研究Telerik控件的AJAX

编辑:

关于使用图像而不是HTML,首先确保不会丢失任何功能/细节,然后查看
.Save()
RadChart控件的方法。您可以将其保存到内存流中,或者如果要重新使用图像,请将其保存到Web服务器上的目录中并定期清理。这样,您只需将打印版本指向图像,而不必重新生成图像


可能有用。

是的,这也是我的建议,但不幸的是,product的同事们真的很想在新窗口中使用它。而且我认为我不可能在新窗口中不重新加载所有内容就完成它,因为我很确定我会丢失会话。(这里的安全性非常严格)那真是太遗憾了!你是将图表呈现为图像还是HTML?你在IE的开发工具中能看到什么?如果你与FireFox等进行比较,可能会有一些线索。好吧,我本来打算添加图片,但我们的web服务提供商已经倒闭了。所以我会用我想要的任何工具进行编辑can@PhillipSchmidt已编辑答案以添加有关的建议图片,但不确定是什么原因导致您的屏幕截图出现错误,抱歉。我无法使用
.Save()
,因为这只是RadChart。如果有一个MVC图表版本我可以使用,请告诉我。是的,这也是我的建议,但不幸的是,product的员工真的希望在一个新窗口中使用它。我想我不可能在不重新加载所有内容的情况下在新窗口中使用它,因为我很确定我会丢失会话。(这里的保安很严密)那真是太遗憾了!你是将图表呈现为图像还是HTML?你在IE的开发工具中能看到什么?如果你与FireFox等进行比较,可能会有一些线索。好吧,我本来打算添加图片,但我们的web服务提供商已经倒闭了。所以我会用我想要的任何工具进行编辑can@PhillipSchmidt已编辑答案以添加有关的建议图片,但不确定是什么原因导致您的屏幕截图中出现错误,抱歉。我不能使用
.Save()
,因为这只是RadChart。如果我可以使用MVC图表版本,请告诉我。