Javascript 使用MVC和CanvasJS的动态图表
我试图从MVC模型列表中生成一个CanvasJS条形图。 这似乎可以生成对象,但当我尝试渲染图表画布时,JS抱怨它找不到数据数组。有什么想法吗Javascript 使用MVC和CanvasJS的动态图表,javascript,asp.net-mvc,dynamic,charts,canvasjs,Javascript,Asp.net Mvc,Dynamic,Charts,Canvasjs,我试图从MVC模型列表中生成一个CanvasJS条形图。 这似乎可以生成对象,但当我尝试渲染图表画布时,JS抱怨它找不到数据数组。有什么想法吗 <script> var yearbargraphchart = new CanvasJS.Chart("chartContainerbar1"); yearbargraphchart.options.title = { text: "Year attendance: " + " percent_attend
<script>
var yearbargraphchart = new CanvasJS.Chart("chartContainerbar1");
yearbargraphchart.options.title = {
text: "Year attendance: " + " percent_attend var here " + " %",
fontWeight: "bolder",
fontColor: "#008B8B",
fontSize: 20,
padding: 10
};
yearbargraphchart.options.axisX = {
title: "Axis X Title"
};
yearbargraphchart.options.axisY = {
title: "Axis Y Title"
};
var fa = [];
yearbargraphchart.data = fa;
</script>
@foreach (var item in Model){
<script>
var bp = [];
var obj = {}
obj.foo = "test";
test = [];
bp.push({ label: ' Present: ' + "@(item.Marks_present)" , y: "@(item.Marks_present)" });
var n = "dps@(item.Month)"; // set dynamic name for sub array:
var test = { type: "bar", name: n };
test.dataPoints = bp;
fa.push(test);
console.log("post yearbargraphchart.data.push " + JSON.stringify(yearbargraphchart.data));
</script>
}
<script>
yearbargraphchart.render();
yearbargraphchart = {};
</script>
您有一些数据关系错误
var fa = [];
yearbargraphchart.data = fa;
这实际上并没有将'fa'绑定到'yearbargraphchart.data',所以稍后当您这样做时
fa.push(test);
您将数据推送到'fa'中,而不会推送到'yearbargraphchart.data'中
试试这个。反而
yearbargraphchart.data.push(test);
我认为这会解决问题