Обычно приложение работает с 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);
}