首页 > 解决方案 > 如何在.net MVC5中使用ViewBag中的数据绘制图表

问题描述

我有一个表格预告片,其中包含预告片和预告片的视图数。在这里我从表格预告片传递数据以使用 ViewBag 进行查看,我想使用 viewbag 中的这些数据绘制谷歌图表,但我不知道如何转换viewbag中的数据到在javascript中绘制图表所需的数组

这是javascript中使用的代码

    <script type="text/javascript">
    google.charts.load("current", { packages: ["corechart"] });
    google.charts.setOnLoadCallback(drawChart);
    function drawChart() {
        var data = google.visualization.arrayToDataTable([
            ['Task', 'Views per Day'],
            @foreach(var t in ViewBag.trailer)
            {              
          [t.mov_name, t.count],
            }
        ]);

        var options = {
            title: 'My Daily Activities',
            pieHole: 0.4,
        };

        var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
        chart.draw(data, options);
    }
</script>

我不知道如何将 ViewBag 中的数据插入到变量数据中。请帮我

标签: javascriptc#.net

解决方案


你可以像下面那样做

var trailers = @Html.Raw(ViewBag.trailer);
var data = google.visualization.arrayToDataTable(['Task', 'Views per Day'], trailers);

可能您需要在将预告片对象传递给参数之前正确操作它。

Html.Raw() 将解决您的问题。


推荐阅读