首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从apicontroller绑定kendo-ui网格

从apicontroller绑定kendo-ui网格
EN

Stack Overflow用户
提问于 2014-06-13 13:56:45
回答 2查看 1.2K关注 0票数 0

我使用的是kendo版本,我正在尝试从ApiController中填充一个kendo网格。我的网格仍然是空的..。我错过了什么?

以下是我的ApiController:~/api/Countries的结果:

代码语言:javascript
复制
[{"Id":4,"Name":"Germany"},
 {"Id":5,"Name":"China"},
 {"Id":6,"Name":"Myanmar"}]

以下是我的ApiController代码:

代码语言:javascript
复制
public class CountriesController : ApiController
{
    private DBContext db = new DBContext();

    // GET api/Countries
    [Queryable]
    public IQueryable<Country> GetCountries()
    {
        return db.Countries;
    }
}

以下是我的cshtml代码:

代码语言:javascript
复制
<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>

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-13 17:20:53

在来自kendo数据源的API调用中,我总是必须指定它是json返回的dataType,我认为它默认为jsonp。

代码语言:javascript
复制
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
}),
票数 0
EN

Stack Overflow用户

发布于 2014-06-13 16:15:27

Kendo Grid没有以正确的格式返回Json。确保使用KendoMVC DataSourceRequest对象以正确的格式返回数据,以供网格使用。

下面是一个示例:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24207096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档