Kendo には、Visual Studio でダウンロードして実行し、リモート データなどにバインドする方法を確認できる ASP.NET MVC デモがいくつかありましたが、何らかの理由で削除されました。これらのデモに基づいて作成した簡単な例を次に示します。
コントローラー アクション (「ChartsController.cs」など):
public ActionResult Index()
{
return View();
}
public ActionResult GetChartData()
{
IEnumerable<ChartModel> chartData = SomeRepository.GetData();
return Json(chartData);
}
チャートモデル:
public class ChartModel
{
public ChartModel(string year, int val2, int val3)
{
Year = year;
Val2 = val2;
Val3 = val3;
}
public string Year { get; set; }
public int Val2 { get; set; }
public int Val3 { get; set; }
}
表示 (「Charts/Index.cshtml」、レイアウトは含まれません):
<div class="chart-wrapper">
@(Html.Kendo().Chart<ChartExample.Models.ChartModel>()
.Name("chart")
.Title("Example Column Chart")
.Legend(legend => legend
.Position(ChartLegendPosition.Top)
)
.DataSource(ds => ds.Read(read => read.Action("GetChartData", "Charts")))
.Series(series => {
series.Column(model => model.Val2).Name("Val2");
series.Column(model => model.Val3).Name("Val3");
})
.CategoryAxis(axis => axis
.Categories(model => model.Year)
.Labels(labels => labels.Rotation(-90))
)
.ValueAxis(axis => axis.Numeric()
.Labels(labels => labels.Format("{0:N0}"))
.MajorUnit(10000)
)
)
</div>
この例では、ビューの取得とグラフのデータの取得に別々のコントローラー アクションを使用していますが、それらを組み合わせて、return View(chartData);
ビューに含めることもできます。
@model IEnumerable<ChartExample.Models.ChartModel>
<div>
@(Html.Kendo().Chart(Model)
// just don't include the ".DataSource" line
// ...
)
</div>
残念ながら、これまで Web フォームを使用したことがないため、それが Web フォームで実行できるかどうかはわかりません。お役に立てれば!