0

我正在尝试在我们的 MVC 应用程序上实现谷歌图表。到目前为止,我已经使用统计数据让它工作了,所以只是为了看看它在界面上的样子。但是,我已经创建了控制器来检索正确的数据并将其传递给我的图表。我的问题是我的控制器没有被 JS 触发?我在我的控制器上放了一个断点来检查。控制台上也没有错误......

我的仪表板控制器

    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);
                    }
                });
            })
    });
4

1 回答 1

0

我可以通过在 cshtml 中声明 Url.Action 然后在 JS 中使用全局变量来修复它。

cshtml:

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

JS:

url: uploadTypePath,
于 2015-11-02T10:15:46.747 回答