我正在尝试使用以下信息显示Kendo dataviz饼图。
我将“结果”从我的控制器传回我的视线。
我的观点包含饼图:
@(Html.Kendo().Chart<PropertyViewModel>()
.Name("chart")
.Title("Properties")
.Legend(legend => legend
.Position(ChartLegendPosition.Top)
)
.DataSource(ds => ds.Read(read => read.Action("GetPropertiesChart", "Home")))
.Series(series => {
series.Pie(model => model.Address.State, model => model.Address.State.Count().ToString());
})
.Tooltip(tooltip => tooltip
.Visible(true)
.Format("{0:N0}")
)
)
我的页面上只有一个空白区域,其中只有一个空白区域。
控制器代码:
public ActionResult GetPropChart()
{
var allProps = PService.GetAll();
var props = allProps.Cast<PropViewModel>().ToList();
var results = props
.GroupBy(item => item.Address.State)
.Select(g => new
{
State = g.Key,
Count = g.Select(l => l.Address.State).Count()
});
return Json(results);
}
答案 0 :(得分:0)
您返回的模型如下:
.Select(g => new
{
State = g.Key,
Count = g.Select(l => l.Address.State).Count()
}
但是你的系列定义不同(没有Adress属性)
series.Pie(model => model.Address.State)
也不支持绑定到方法(例如model.Address.State.Count()。ToString()) - 创建了保存值的常规属性。