2015-11-02 4 views
0

Я пытаюсь реализовать диаграммы Google в нашем приложении MVC. Я сделал это до сих пор, используя статистические данные, поэтому просто посмотрим, как это будет выглядеть на интерфейсе. Тем не менее, я уже создал свой контроллер для извлечения и передачи правильных данных в свою диаграмму. Моя проблема в том, что мой контроллер не запускается из JS? Я поставил точку останова на мой контроллер для check.No ошибок на консоли либо ...Google Charts в MVC

Мой DashboardController:

public JsonResult GetUploadTypesPerAccount() 
      { 
       var accountUploadTypes = _evidenceRepository.GetForAccountPaged(); 
       return Json(accountUploadTypes , JsonRequestBehavior.AllowGet); 

      } 

Я создал отдельный dashboard.js:

$(document).ready(function() { 
      //use ajax 
      $(function() { 
       $.ajax({ 
        type: 'GET', 
        dataType: 'json', 
        contentType: 'application/json', 
        url: '@Url.Action("GetUploadTypesPerAccount", "Dashboard")', 
        data: {}, 
        success: function (chartsDataFinal) { 
         var data = new google.visualization.DataTable(); 

         var options = { 
          title: 'Stakeholders', 
          pieHole: 0.4, 
          width: 400, 
          height: 400, 
         }; 

         data.addColumn('string', 'UploadType'); 
         data.addColumn('number', 'UploadTypeCount'); 

         for (var i = 0; i < chartsDataFinal.length; i++) { 
          data.addRow([chartsDataFinal[i].UploadType, chartsDataFinal[i].UploadTypeCount]); 
         } 

         var chart = new google.visualization.PieChart(document.getElementById('donutchart2')); 
         chart.draw(data,options); 
        } 
       }); 
      }) 
    }); 
+0

Удалить либо '$ (документ) .ready (функция() {' или '$ (функция() {' –

ответ

0

Мне удалось исправить это, объявив Url.Action в cshtml, а затем используя глобальную переменную в JS.

cshtml:

var uploadTypePath = "@Url.Action("GetUploadTypesPerAccount", "DashboardSummary")"; 

JS:

url: uploadTypePath,