简体   繁体   English

无法在ASP.net MVC4上加载Google图表

[英]Can't load Google Charts on ASP.net MVC4

I tried to add charts to my ASP.net MVC project using Google Charts 我试图使用Google Charts将图表添加到我的ASP.net MVC项目中

I used the simplest way to understand how does it work ! 我用最简单的方法来了解它是如何工作的!

On my Controller : 在我的控制器上:

  public JsonResult Index()
        {

            var data = new[]
                {
                    new {Name = "China", Value = 1336718015},
                    new {Name = "India", Value = 1189172906},
                    new {Name = "United States", Value = 313232044},
                    new {Name = "Indonesia", Value = 245613043},
                    new {Name = "Brazil", Value = 203429773},
                };

            return Json(data,JsonRequestBehavior.AllowGet);
        }

On my Web Page 在我的网页上

</script><script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">// <![CDATA[
    google.load("visualization", "1", { packages: ["corechart"] });
    google.setOnLoadCallback(drawChart);

    function drawChart() {

        $.post('index', {},
            function (data) {
                var tdata = new google.visualization.DataTable();

                tdata.addColumn('string', 'Country');
                tdata.addColumn('number', 'Population');

                for (var i = 0; i < data.length; i++) {
                    tdata.addRow([data[i].Name, data[i].Value]);
                }

                var options = {
                    title: "Top 5 Country's Population"
                };

                var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
                chart.draw(tdata, options);
            });

    }
// ]]></script>
<div id="chart_div"></div>

All what I have is a text on a page : 我所拥有的只是一页上的文字:

[{"Name":"China","Value":1336718015},{"Name":"India","Value":1189172906},{"Name":"United States","Value":313232044},{"Name":"Indonesia","Value":245613043},{"Name":"Brazil","Value":203429773}] [{“名称”:“中国”,“值”:1336718015},{“名称”:“印度”,“值”:1189172906},{“名称”:“美国”,“值”:313232044}, {“名称”:“印度尼西亚”,“值”:245613043},{“名称”:“巴西”,“值”:203429773}]

For the example you are trying to get working, you need two pages - one that displays the chart (the one with the HTML and Javascript) and the other one that serves the data (your MVC controller). 对于您要开始工作的示例,您需要两个页面-一个页面显示图表(一个带有HTML和Javascript),另一个页面提供数据(您的MVC控制器)。

After that, you have to set the post line to your MVC page: 之后,您必须在MVC页面上设置发布行:

$.post('page/address', {},

You can use index too, but in this case you have to move the page with HTML to another file (for example chart.html ) 您也可以使用index ,但是在这种情况下,您必须将带有HTML的页面移动到另一个文件(例如chart.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM