我正在尝试将我的 Razor 代码隐藏页面中的数据绑定到我的 .cshtml 文件,以加载 Kendo 图表。我想要实现的是让酒吧中的男性和女性人数,X 轴是录取期限,Y 轴是男性和女性的人数。
目前,数据未绑定到图表。
请在下面找到我尝试过的内容。
public async Task<IActionResult> OnGetStudentMDProgramAll()
{
AllStudents = await _studentService.GetStudentProgramsAll();
foreach (var student in AllStudents)
{
StudentBreakdownReportModel std_brk_rpt_mdl = new StudentBreakdownReportModel();
std_brk_rpt_mdl.AdmissionTerm = student.AdmissionTerm;
std_brk_rpt_mdl.Female = AllStudents.Where(ad => ad.Student.Gender == "F").ToList().Count().ToString();
std_brk_rpt_mdl.Male = AllStudents.Where(ad => ad.Student.Gender == "M").ToList().Count().ToString();
std_brk_rpt_mdl.FemaleResidency_SC = AllStudents.Where(ad => ad.Student.Gender == "F" && ad.Student.Code == "SC").ToList().Count().ToString();
std_brk_rpt_mdl.FemaleResidency_SPR = AllStudents.Where(ad => ad.Student.Gender == "F" && ad.Student.Code == "SPR").ToList().Count().ToString();
std_brk_rpt_mdl.FemaleResidency_INTL = AllStudents.Where(ad => ad.Student.Gender == "F" && ad.Student.Code == "INTL").ToList().Count().ToString();
std_brk_rpt_mdl.MaleResidency_SC = AllStudents.Where(ad => ad.Student.Gender == "M" && ad.Student.Code == "SC").ToList().Count().ToString();
std_brk_rpt_mdl.MaleResidency_SPR = AllStudents.Where(ad => ad.Student.Gender == "M" && ad.Student.Code == "SPR").ToList().Count().ToString();
std_brk_rpt_mdl.MaleResidency_INTL = AllStudents.Where(ad => ad.Student.Gender == "M" && ad.Student.Code == "INTL").ToList().Count().ToString();
Report.Add(std_brk_rpt_mdl);
}
return new JsonResult(Report, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() });
}
请在下面找到 Razor 页面代码
@(Html.Kendo().Chart<Models.StudentBreakdownReportModel>()
.Name("mdchart")
.Title("Student Intake by Residency and Gender for MD Program")
.Legend(legend => legend
.Position(ChartLegendPosition.Top)
)
.DataSource(ds => ds.Read(read => read.Type(HttpVerbs.Get).Url(Url.Page("StudentBreakdownReport", "StudentMDProgramAll"))))
.Series(series =>
{
series.Column(model => model.Female).Name("Female").CategoryField("AdmissionTerm");
series.Column(model => model.Male).Name("Male").CategoryField("AdmissionTerm");
})
.SeriesColors(
"#cd1533", "#009bd7"
)
.CategoryAxis(axis => axis
.Labels(labels => labels.Rotation(-90))
.MajorGridLines(lines => lines.Visible(false))
)
.ValueAxis(axis => axis.Numeric()
.Line(line => line.Visible(false))
)
.Tooltip(tooltip => tooltip
.Visible(true)
.Format("{0:N0}")
)
)