0

MVC アプリケーションに Google チャートを実装しようとしています。これまでのところ、統計データを使用して動作させたので、インターフェースでどのように見えるかを確認するだけです。ただし、正しいデータを取得してチャートに渡すために、コントローラーを既に作成しています。私の問題は、コントローラーが JS からトリガーされないことですか? 確認するためにコントローラーにブレークポイントを設定しました。コンソールにもエラーはありません...

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

1 に答える 1

0

cshtml で Url.Action を宣言し、JS でグローバル変数を使用することで修正できました。

cshtml:

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

JS:

url: uploadTypePath,
于 2015-11-02T10:15:46.747 に答える