我在一个页面中有多个图表但运行时出现此错误:
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);
}
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<div>
<% =CreateChart() %>
</div>
<div>
<% =CreateChart_2() %>
</div>
</asp:Content>
到目前为止,我已经尝试了所有方法,但没有找到解决方案。
答案 0 :(得分:1)
我相信你的情况FusionCharts.RenderChart
中的第4个参数是图表ID,而不是第2个参数。尝试改变它,例如“FactorySum1”和“FactorySum2”和错误应该消失。