图表ID与使用ASP中的Fusion Chart的JavaScript变量名称错误相同

时间:2012-12-27 20:22:15

标签: asp.net fusioncharts

我在一个页面中有多个图表但运行时出现此错误:

 Chart Id is same as a JavaScript variable name. Variable naming error. Please use unique name for chart JS variable, chart-id and container id.

如果我只保留一张图表,那么很高兴。我怎样才能解决这个问题?这是我的代码:

public string CreateChart()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
        string sqlStatement = "SELECT Category, AvgNumbers FROM MyTable";
        SqlCommand cmd = new SqlCommand(sqlStatement, con);
        con.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        string strXML;
        strXML = "<graph caption='Summary' subCaption='By Category' decimalPrecision='0' showNames='1' numberSuffix=' Units' pieSliceDepth='30' formatNumberScale='0'>";
        while (reader.Read())
        {
            strXML += "<set name='" + reader["Category"].ToString() + "' value='" + reader["AvgNumbers"].ToString() + "' />";
        }
        strXML += "</graph>";
       return FusionCharts.RenderChart("/FusionCharts/Pie3D.swf", "ChartID", strXML, "FactorySum", "650", "450", false, false);

    }

    protected string CreateChart_2()
    {


        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
        string sqlStatement = "SELECT count (ID)as ID, cat_name FROM MainTable group by cat_name";
        SqlCommand cmd = new SqlCommand(sqlStatement, con);
        con.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        string strXML1;
        strXML1 = "<graph caption='Summary' subCaption='By Cat' decimalPrecision='0' showNames='1' numberSuffix=' Units' pieSliceDepth='30' formatNumberScale='0'>";
        while (reader.Read())
        {
            strXML1 += "<set name='" + reader["cat_name"].ToString() + "' value='" + reader["ID"].ToString() + "' />";
        }
        strXML1 += "</graph>";
        return FusionCharts.RenderChart("/FusionCharts/Pie3D.swf", "MyChartID", strXML1, "FactorySum", "650", "450", false, false);
    }

ASPX代码:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
   <div>
       <% =CreateChart() %>
   </div>
   <div>
       <% =CreateChart_2() %>
   </div>
</asp:Content>

到目前为止,我已经尝试了所有方法,但没有找到解决方案。

1 个答案:

答案 0 :(得分:1)

我相信你的情况FusionCharts.RenderChart中的第4个参数是图表ID,而不是第2个参数。尝试改变它,例如“FactorySum1”和“FactorySum2”和错误应该消失。