Piechart не работает в PartialView - PullRequest
0 голосов
/ 27 июня 2018

Обычно приложение работает с ViewBag. Но когда я использую частичное представление, оно не может использовать viewbag. Поэтому я бросаю это как строку. Данные отправляются, но круговая диаграмма не печатается.

Javascript в PartialView

@ модельная строка

    window.onload = function () {

        var chart = new CanvasJS.Chart("chartContainer", {
            theme: "light1", // "light1", "light2", "dark1", "dark2"
            exportEnabled: true,
            animationEnabled: true,
            title: {
                text: "Indian Smartphone Market Share"
            },
            subtitles: [{
                text: "Q2, 2016"
            }],
            data: [{
                type: "pie",
                startAngle: 180,
                toolTipContent: "<b>{label}</b>: {y}%",
                showInLegend: "true",
                legendText: "{label}",
                indexLabel: "{label} - {y}%",
                dataPoints: @Html.Raw(Model),
            }]
        });
        chart.render();

    }
</script>

Контроллер

 [HttpPost]
    public ActionResult Index(List<string> ulkeler)
    {
        NwContext db = new NwContext();
        List<Ulke> ulkecs = new List<Ulke>();
        foreach (var item in ulkeler)
        {
           ulkecs.Add( new Ulke { count = db.Customers.Where(x => x.Country == item).Count(),name =item });
        }

        List<DataPoint> dataPoints = new List<DataPoint>();
        foreach (var item in ulkecs)
        {

            dataPoints.Add(new DataPoint(item.name.ToString(), Convert.ToInt32(item.count)));

        }

        string a= JsonConvert.SerializeObject(dataPoints);
        return PartialView("PartialViewExample", a);
    }

1 Ответ

0 голосов
/ 27 июня 2018

Я исправил вот так:

Я удалил это window.onload = function () {, написал function show() { и

<button onclick="show()"></button>
...