【问题标题】:Telerik chart not loading correctly (ajax/script issue?)Telerik 图表未正确加载(ajax/脚本问题?)
【发布时间】:2012-06-20 14:29:38
【问题描述】:

我有一个页面,其中包含带有 Telerik 图表 的用户控件(网格也是,但它们工作正常)。在这个页面中,用户可以点击一个按钮被重定向到“Printer-Friendly Version”类型的页面,该页面通过javascript打开一个新窗口并通过一个稍微不同的视图(用于格式化和东西),但telerik代码都是一样的。

问题是,我的图表在原来的窗口中显示得很好,但是新窗口基本上显示的是一个没有数据的空图表。此错误仅存在于 IE 中,并且仅适用于图表。无论出于何种原因,网格都可以正常工作。我认为这是由于浏览器之间脚本缓存的差异造成的——如果我错了,请纠正我,我对客户端导向的 Web 开发是半新手。

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

编辑:

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

另一个(重要的)编辑:

这些可能是罪魁祸首...

这里有更多细节:

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

【问题讨论】:

    标签: c# jquery ajax asp.net-mvc-3 telerik


    【解决方案1】:

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

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

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

    这样,您可以避免重新加载页面(重复的数据库命中等),并且无需深入研究 Telerik 控件的 AJAX。

    编辑:

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

    This Telerik forum post 可能有用。

    【讨论】:

    • 是的,这也是我的建议,但不幸的是,产品部门的人只是想在新窗口中看到它。而且我认为如果不重新加载所有内容,我将无法在新窗口中执行此操作,因为我很确定我会失去会话。 (这里的安全性非常严格)
    • 那太可惜了!您是将图表呈现为图像还是 HTML?您在 IE 的开发人员工具中可以看到什么?如果您将其与 FireFox 等进行比较,则可能会有一些线索。人。
    • 好吧,我要添加图片,但我们的网络服务提供商已关闭。所以我可以用任何我能编辑的东西来编辑
    • @PhillipSchmidt 已编辑答案以添加有关图像的建议,但不确定是什么导致您的屏幕截图出现错误,抱歉。
    • 好吧,我不能使用.Save(),因为那是仅限 RadChart。如果有我可以使用的 MVC Chart 版本,请告诉我。
    猜你喜欢
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2021-03-29
    • 1970-01-01
    • 2016-04-04
    相关资源
    最近更新 更多