asp.net和图表的问题

时间:2011-04-07 12:05:03

标签: asp.net charts sqldatasource

我必须在网站上使用图表,而我根本无法使它们正常工作。

看起来很简单:你声明一个sql数据源,图表将使用该数据源,但它不起作用。而不是图表,出现“破碎的图像”图片。我尝试过使用不同的浏览器并将sql数据源放在不同的地方,但它没有用。

我正在使用vs2010,并且已经测试了sql数据源并且它返回了值ok。

由于我在代码中找不到问题,我在这里写一下:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<form id="form1" runat="server">

<h2>Title</h2>

<br />

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionStringChart1 %>" 
    SelectCommand="SELECT [companyID], [numberOfVisits] FROM [Company]">
</asp:SqlDataSource>


<asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1">
    <Series>
        <asp:Series Name="Series1" XValueMember="companyID" 
            YValueMembers="numberOfVisits">
        </asp:Series>
    </Series>
    <ChartAreas>
        <asp:ChartArea Name="ChartArea1">
        </asp:ChartArea>
    </ChartAreas>
</asp:Chart>

<br />

</form>
</asp:Content>

2 个答案:

答案 0 :(得分:0)

除了注册声明之外,您还需要修改web.config文件以使图表生效。

修改:将'verg'更改为'verb'

    <httpHandlers>
       <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
    </httpHandlers

和 检查您的页面顶部是否有注册声明:

<%@ Register Assembly = "System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>

答案 1 :(得分:0)

我不是那个进入asp图表控件但是我建议使用由silverlight驱动的Visifire图表控件。请看这个示例http://www.visifire.com/blog/2009/05/21/creating-silverlight-charts-from-sql-data-using-aspnet-and-visfire/

我设法在两天内完成概念验证,几乎是一个,并在Silverlight图表中成功获取当前的SQL数据(数据集)。一旦它在那里,visifire极其强大(和免费)。它使您可以缩放,标记数据点,axellabels,实时数据等。

如果您想采用管理代码方法,您将获得更多可能性。祝好运。查看示例链接,您会发现它是多么容易。 我们今天使用它取得了巨大的成功。

我忘了说,你不需要知道如何编程RIA / Silverlight xaml ......