我正在处理应用程序,我需要使用jquery + ajax请求呈现图表。 为此我做了工作,并成功为此我保存图表图像,然后返回一个路径并显示在图像源上。但问题是鼠标悬停和鼠标移出等图表的动态功能对数据点不起作用。从事它的形象。
但是现在客户想要这个功能而且我被卡住了。为此,我研究了jquery + ajax和图表控件,但没有取得任何成功。
因此,我找到了一种保存Chart Control im XML文件(Chart.SaveXML)的方法。我得到了它,它为所有的图表数据点写了asp.net图表的整个aspx语法。
但是现在我希望我想通过这个xml文件加载图表但它没有呈现图表。
如果有人有任何建议,请帮助我
答案 0 :(得分:0)
这就是我想要的。
在将图表写入XML或从XML读取时,您需要将XML图表数据“转换”为ASP.NET图表数据。
例如:当你调用“Chart.SaveXML”时,它会像这样保存:
<Chart Width="1100" Height="1000">
<Series>
<Series Name="2011/12" YValuesPerPoint="2" ChartType="Bubble" ChartArea="ChartArea1" Color="68, 68, 68" BorderWidth="5" MarkerStyle="Circle" MarkerBorderColor="68, 68, 68">
<Points>
<DataPoint XValue="2.5496218995765276" YValues="0.586933333333333,0"/>
</Points>
</Series>
<Series Name="2010/11" YValuesPerPoint="2" ChartType="Bubble" ChartArea="ChartArea1" Color="98, 98, 98" BorderWidth="5" MarkerStyle="Circle" MarkerBorderColor="98, 98, 98">
<Points>
<DataPoint XValue="1" YValues="0.756816666666667,0"/>
</Points>
</Series>
您需要将其修改为:
<asp:Chart runat="server" Width="1100" Height="1000">
<Series>
<asp:Series Name="2011/12" YValuesPerPoint="2" ChartType="Bubble" ChartArea="ChartArea1" Color="68, 68, 68" BorderWidth="5" MarkerStyle="Circle" MarkerBorderColor="68, 68, 68">
<Points>
<asp:DataPoint XValue="2.5496218995765276" YValues="0.586933333333333,0" />
</Points>
</asp:Series>
<asp:Series Name="2010/11" YValuesPerPoint="2" ChartType="Bubble" ChartArea="ChartArea1" Color="98, 98, 98" BorderWidth="5" MarkerStyle="Circle" MarkerBorderColor="98, 98, 98">
<Points>
<asp:DataPoint XValue="1" YValues="0.756816666666667,0" />
</Points>
</asp:Series>
你可以通过这样的步骤来做到这一点:
myXmlData = myXmlData.Replace("<DataPoint", "<asp:DataPoint");
注意“&lt; Series&gt;”尽管如此:集合(第一个)不是“asp:”标签,而其余的是。
这会将XML转换为有效的ASP.NET标记,然后您可以以某种方式将其嵌入到页面中。