我使用的是kendo版本,我正在尝试从ApiController中填充一个kendo网格。我的网格仍然是空的..。我错过了什么?
以下是我的ApiController:~/api/Countries的结果:
[{"Id":4,"Name":"Germany"},
{"Id":5,"Name":"China"},
{"Id":6,"Name":"Myanmar"}]以下是我的ApiController代码:
public class CountriesController : ApiController
{
private DBContext db = new DBContext();
// GET api/Countries
[Queryable]
public IQueryable<Country> GetCountries()
{
return db.Countries;
}
}以下是我的cshtml代码:
<script type='text/javascript'>
$(document).ready(function () {
$("#grid").kendoGrid({
columns: [
{ field: "Id", title: "id" },
{ field: "Name", title: "name" }
],
dataSource: new kendo.data.DataSource({
transport: {
read: "api/Countries"
},
schema: {
model: {
id: "Id",
fields: {
Id: { type: "number" },
Name: { type: "string" }
}
}
},
pageSize: 3
}),
pageable: true
});
});
</script>谢谢你的帮助。
发布于 2014-06-13 17:20:53
在来自kendo数据源的API调用中,我总是必须指定它是json返回的dataType,我认为它默认为jsonp。
dataSource: new kendo.data.DataSource({
transport: {
read: {
url: "/api/Countries",
dataType: 'json'
}
},
schema: {
model: {
id: "Id",
fields: {
Id: { type: "number" },
Name: { type: "string" }
}
}
},
pageSize: 3
}),发布于 2014-06-13 16:15:27
Kendo Grid没有以正确的格式返回Json。确保使用KendoMVC DataSourceRequest对象以正确的格式返回数据,以供网格使用。
下面是一个示例:
public ActionResult Update([DataSourceRequest] DataSourceRequest request, MyViewModel data)
{
var result = UpdateBackend(data);
return Json(result.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}查看MVC的Kendo演示页面以获得更多示例:http://demos.telerik.com/aspnet-mvc/grid/index
https://stackoverflow.com/questions/24207096
复制相似问题