WebAPIコントローラーからKendoUIグリッドにデータをバインドするのに問題があります。残念ながら、私はこれの例を見つけることができませんでした。
APIコントローラーは次のとおりです。
public class FruitController : ApiController
{
public class Fruit
{
public string Name { get; set; }
public string Color { get; set; }
}
public IEnumerable<Fruit> GetFruits()
{
List<Fruit> list = new List<Fruit>();
Fruit f = new Fruit();
f.Name = "Apple";
f.Color = "Red";
list.Add(f);
f = new Fruit();
f.Name = "Kiwi";
f.Color = "Green";
list.Add(f);
return list;
}
}
そして、私の.cshtmlファイルには次のものがあります。
@model IEnumerable<FruitController.Fruit>
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Name);
columns.Bound(p => p.Color);
})
.Groupable()
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetFruits", "api/Fruit").Type(HttpVerbs.Get)
)
)
)
これを実行すると、コントローラーから正常なJSON応答が返されます。
[{"Name": "Apple"、 "Color": "Red"}、{"Name": "Kiwi"、 "Color": "Green"}]
ただし、グリッドにはデータがありません。私が見逃している明らかなものはありますか?私はこれを理解することができませんでした!
ありがとう!