Wie binden Kendo UI Grid-Web-API-Controller?
Ich habe Probleme beim binden von Daten aus einer Web-API-Controller zu einem Kendo UI grid. Leider habe ich noch nicht finden konnten, sind Beispiele dafür.
Hier ist die API-Controller:
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;
}
}
Und in meinem .cshtml-Datei habe ich:
@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)
)
)
)
Wenn ich diesen starte, bekomme ich eine erfolgreiche JSON-Antwort von der Steuerung:
[{"Name":"Apple","Color":"Red"},{"Name":"Kiwi","Color":"Green"}]
Aber das raster keine Daten enthält. Gibt es etwas, offensichtlich bin ich vermisst? Ich habe nicht in der Lage, um dies herauszufinden!
Dank!
InformationsquelleAutor Dave | 2012-07-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Blick auf die Beispiele, es erwartet einen DataSourceResult. Im controller umfassen eine Methode, die soetwas macht, dann funktioniert es.
Ich bin auf der Suche auf die Schaffung einer Optik, mit postsharp, die bringen würde die create/update/delete-Methoden in der controller-Klasse, Kendo erfordert.
Ich denke, es ist tatsächlich seltsam, dass Kendo nicht ein Attribut/Aspekt für die API-controller-Klassen, aber vielleicht bin ich etwas fehlt..
InformationsquelleAutor user1496353
Hier ist ein komplettes tutorial zu diesem Thema. Hoffe es hilft
Ich habe verwendet, Kendo-tools, wie vor zwei Jahren nach tutorial. Es ist mehr javascript-orientiert, das stimmt.
InformationsquelleAutor coffekid
Hatte ich auch Probleme bekommen, Kendo arbeiten für einen API-controller. Für mich, es funktionierte Schalter aus
using Kendo.Mvc.Extensions
zuusing Kendo.DynamicLinq
.In meiner Kendo-datasource, entfernte ich den geheimnisvollen Linie
type: aspnetmvc-ajax
und dieparameterMap
.InformationsquelleAutor Elaine Lin