Как передать данные viewbag в Google charts
Привет, я использую круговую диаграмму google. я вернул все значения через json и сохранил их в сумке просмотра и передал на страницу просмотра.данные тоже приходят,но в каждой функции данные не отображаются.
Как передать все значения данных в каждой функции и отобразить диаграмму.
Что я уже пробовал:
Контроллер
public ActionResult PerformanceChart(string id) { ViewBag.PieChart = getMapData(id); return View(); } public ActionResult getMapData(string id) { List<Performance> mapdata = new List<Performance>(); var linqList = from a in bics.Performances where (a.EmployeeId == id) select new { a.Ques1, a.Ques2, a.Ques3, a.Ques4, a.Ques5, a.Ques6, a.Ques7, a.Ques8, a.Ques9, a.Ques10 }; //mapdata = bics.Performances.ToList(); return Json(linqList, JsonRequestBehavior.AllowGet); }
Просмотр страницы
<html> <head> <meta name="viewport" content="width=device-width" /> <title>PerformanceChart</title> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', {packages: ['corechart']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { // Define the chart to be drawn. var data = new google.visualization.DataTable(); data.addColumn('string', 'Qustion'); data.addColumn('number', 'Marks'); var data1 = @Html.Raw(Json.Encode(ViewBag.Piechart)); debugger; // data.addRows([ //['Nitrogen', 0.78], //['Oxygen', 0.21], //['Other', 0.01] // ]); $.each(data1,function(index,value) { data.addRows([[data1]]); //data.addRows([[value.ProductType,value.TotalCount]]); //alert('Position is : '+ index + ' And Value is : ' + value); }); // Instantiate and draw the chart. var chart = new google.visualization.PieChart(document.getElementById('myPieChart')); chart.draw(data, null); } </script> </head> <body> <div> <div id="myPieChart" /> </div> </body> </html>