绑定 json 导致 asp.net mvc 4 的图表

Binding json result in highcharts for asp.net mvc 4

net mvc4 c# razor 项目我想实现 dotnet highcharts.For 我已经创建了一个 jsonresult 函数来从数据表和一个 cshtml 文件中获取数据来呈现文件。

我的问题是 1. 我不知道如何从 json 传递数据来查看 2. 如何在highcharts中显示x轴和系列的结果。

我是 asp.net mvc 4 和 Highcharts 的初学者..

cshtml

enter code here
    <script type="text/javascript">
            $(function () {
                debugger;
                $('#container').highcharts({

                    chart: {
                        type: 'column'
                    },
                    title: {
                        text: 'Audience Live Data'
                    },
                    subtitle: {
                        text: 'Mainadv'
                    },
                    xAxis: {
                        categories: [mySeries]
                    },
                    yAxis: {
                        min: 0,
                        title: {
                            text: 'Count'
                        }
                    },
                    tooltip: {
                        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
                        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                            '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
                        footerFormat: '</table>',
                        shared: true,
                        useHTML: true
                    },
                    plotOptions: {
                        column: {
                            pointPadding: 0.2,
                            borderWidth: 0
                        }
                    },
                    series: [{
                        name: 'Home',
                        data: [{ data: data }]

                    }, {
                        name: 'Category',
                        data: [{ data: data }]

                    }, {
                        name: 'Product',
                        data: [{ data: data }]

                    }, {
                        name: 'Basket',
                        data: [{ data: data }]

                    },{
                    name: 'Checkout',
                    data: [{ data: data }]

            }]
                });
            });
</script>

脚本文件

<script type="text/javascript">
    // the button action
    debugger;
    var url = "/AudienceLive/GetAudLiveChartData/";
    $.ajax({
        url: url,
        cache: false,
        Type: 'POST',
        success: function (myData) {
            var mySeries = [];
            for (var i =0; i < myData.length; i++) {
                mySeries.push([myData[i]]);  
            }
            var chart = $('#container').highcharts();
            chart.series[0].setData(mySeries);
            // chart.series[0].pointStart=;

        }, error: function (response) {
            alert("error : " + response);
        }

    });
</script>

JsonResult 函数

   public JsonResult GetAudLiveChartData()
        {
            AudienceLiveRepo objlive=new AudienceLiveRepo ();
            List<string> test=new List<string>();
            DataTable dt = objlive.GetTable();
            if(dt!=null)
            {
                if(dt.Rows.Count>0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        test.Add(Convert.ToString(dt.Rows[i][0]));
                        test.Add(Convert.ToString(dt.Rows[i][1]));
                        test.Add(Convert.ToString(dt.Rows[i][2]));
                        test.Add(Convert.ToString(dt.Rows[i][3]));
                        test.Add(Convert.ToString(dt.Rows[i][4]));
                        test.Add(Convert.ToString(dt.Rows[i][5]));
                    }
                }
            }
            objlive = null;
            return Json(test, JsonRequestBehavior.AllowGet);
        }

查看 cshtml

$(document).ready(function () {
        $.ajax({
            url: "/home/ChartData",
            type: 'POST',
            dataType: 'json'
        }).success(function (dataChart) {
            var Xaxis = [];//skapa tre olika array
            var dataseries = [];
            for (var i = 0; i < dataChart.length; i++) {
                var items = dataChart[i];
                var XcategoreisItem = items.id;
                var seriesData = items;

                Xaxis.push(XcategoreisItem); 
                dataseries.push(seriesData); 
                console.log(dataseries);
            }
            getchart(Xaxis, dataseries);

        }).error(function (er, xhr, e) {
            console.log("Error: ", er, xhr, e);
        })

});
function getchart(Xaxis, dataseries) {
    $('#container').highcharts({
        chart: {
            type: 'line',
            zoomType: 'xy',
            panning: true,
            panKey: 'shift'
        },

        title: {
            text: 'Zooming and panning'
        },

        subtitle: {
            text: 'Click and drag to zoom in. Hold down shift key to pan.'
        },
        plotOptions: {
            series: {
                dataLabels: {
                    enabled: true,
                    format: '{y}%', 

                }
            }
        },
        xAxis: {
            categories: Xaxis
        },
        yAxis: {
            title: {
                text: 'Y axis text'
            },

     series: [{
            name: 'Id',
            data: dataseries
        }]
    });
};

家庭控制器

 public ActionResult ChartData()
    {
           TbChart db = new TbChart();

          var TbChartData = db.getYaxis();

          return this.Json(TbChartData, JsonRequestBehavior.AllowGet);
   }