asp.net图表使用xml文件呈现

时间:2013-03-04 10:11:53

标签: asp.net charts asp.net-charts

我正在处理应用程序,我需要使用jquery + ajax请求呈现图表。 为此我做了工作,并成功为此我保存图表图像,然后返回一个路径并显示在图像源上。但问题是鼠标悬停和鼠标移出等图表的动态功能对数据点不起作用。从事它的形象。

但是现在客户想要这个功能而且我被卡住了。为此,我研究了jquery + ajax和图表控件,但没有取得任何成功。

因此,我找到了一种保存Chart Control im XML文件(Chart.SaveXML)的方法。我得到了它,它为所有的图表数据点写了asp.net图表的整个aspx语法。

但是现在我希望我想通过这个xml文件加载图表但它没有呈现图表。

如果有人有任何建议,请帮助我

1 个答案:

答案 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标记,然后您可以以某种方式将其嵌入到页面中。