Как привязать файл data.json к диаграмме пользовательского интерфейса Kendo в ASP.Net MVC

#c# #json #asp.net-mvc #kendo-asp.net-mvc

#c# #json #asp.net-mvc #kendo-asp.net-mvc

Вопрос:

Я пытаюсь привязать данные JSON к диаграммам пользовательского интерфейса Kendo в ASP.Net MVC. Я просмотрел много документации, но не смог найти правильное решение для меня. Я надеюсь, что кто-нибудь здесь сможет мне помочь!

Это данные JSON:

 [
  {
    "SubjectId": 60369,
    "SubjectName": "Mathematics",
    "Score": 50.00,
    "RemainingScore": 50.00,
    "SubjectColor": "#ffa620",
    "SortOrder": 1
  },
  {
    "SubjectId": 61529,
    "SubjectName": "Biology",
    "Score": 30.00,
    "RemainingScore": 70.00,
    "SubjectColor": "#e082fb",
    "SortOrder": 1
  },
  {
    "SubjectId": 60812,
    "SubjectName": "Chemistry",
    "Score": 50.00,
    "RemainingScore": 50.00,
    "SubjectColor": "#ac97fb",
    "SortOrder": 2
  }
]
 

Вот МОДЕЛЬ:

 public class ScoreModel
{        
    public int SubjectId { get; set; }
    public string SubjectName { get; set; }
    public double Score { get; set; }
    public double RemainingScore { get; set; }
    public string SubjectColor { get; set; }
    public int SortOrder { get; set; }
}
 

Вот ВИД:

 @model IEnumerable<BarChart.Models.ScoreModel>
@(Html.Kendo().Chart(Model)
        .Name("chart")
        .Title("SUBJECT SCORE")
        .Theme("Flat")
        .Legend(legend => legend.Visible(false))
        .DataSource(ds => ds.Read(read => read.Action("LoadJson", "Home")))
        .Series(series =>
        {
            series.Bar(model => model.Score, model=> model.SubjectColor)
                .CategoryField("SubjectName")
                .Labels(labels => labels.Visible(true)
                    .Format("{0}%")
                    .Position(ChartBarLabelsPosition.OutsideEnd));
        })
        .CategoryAxis(axis => axis
            .MajorGridLines(lines => lines.Visible(false))
        )
        .ValueAxis(axis => axis.Numeric()
            .Labels(labels => labels.Visible(false))
            .Line(lines => lines.Visible(true))
            .MajorGridLines(lines => lines.Visible(false))
        )
        .Tooltip(tooltip => tooltip
            .Visible(true).Template("#= series.name #: #= value #")
        )

    )
 

И вот КОНТРОЛЛЕР:

 public ActionResult Index()
{
       return View();
}
public void LoadJson()
{
      using (StreamReader streamReader = new StreamReader(@"D:ProjectsBarChartScoreData.json"))
      {
           string json = streamReader.ReadToEnd();
           List<ScoreModel> items = JsonConvert.DeserializeObject<List<ScoreModel>>(json);
      }
}
 

Я также не знаю, как вернуть данные json для просмотра. Пожалуйста, помогите мне с этим тоже. Я новичок в .NET, и мне еще многому предстоит научиться.