0

我正在开发需要使用 jquery + ajax 请求呈现图表的应用程序。为此,我确实工作并获得了成功,我保存图表图像,然后返回路径并显示在图像源上。但问题是鼠标悬停和鼠标移出等图表的动态功能不适用于数据点。当然,它是一个图像。

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

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

但现在我想要通过这个 xml 文件加载图表但它没有渲染图表。

请帮助我,如果有人有什么建议

4

1 回答 1

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");

但请注意“<Series>”标签:集合(第一个)不是“asp:”标签,而其他标签是。

这会将 XML 转换为有效的 ASP.NET 标记,然后您可以以某种方式将其嵌入到页面中。

于 2013-03-29T21:22:33.300 回答