Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用MVC和CanvasJS的动态图表_Javascript_Asp.net Mvc_Dynamic_Charts_Canvasjs - Fatal编程技术网

Javascript 使用MVC和CanvasJS的动态图表

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

我试图从MVC模型列表中生成一个CanvasJS条形图。 这似乎可以生成对象,但当我尝试渲染图表画布时,JS抱怨它找不到数据数组。有什么想法吗

<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);
我认为这会解决问题