如何在.net MVC5中的ViewBag中使用数据绘制图表

时间:2018-10-04 09:57:30

标签: javascript c# .net

我有一个包含预告片和预告片视图数的表Trailers。在这里我通过ViewBag从表Trailers中传递了数据以进行查看,我想在Viewbag中使用此数据绘制一个Google图表,但我不知道如何将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中将数据插入变量数据。 请帮助我

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤进行操作

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

可能需要在将拖车对象传递给参数之前对其进行适当的操作。

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