当从服务器端绑定时,Kendo UI Grid数据在客户端始终为空

时间:2015-02-26 20:46:09

标签: kendo-ui kendo-grid kendo-asp.net-mvc

我从ASP.NET MVC绑定了Kendo Grid,如下所示:

        @(Html.Kendo().Grid<My.Web.Models.Generated.CustomerSearch01.CityInfo>()
                    .Name("gridCities")
                    .Columns(columns =>
                    {
                        columns.Bound(c => c.Text).Width(140).Title("City");
                    })
                    .Scrollable()
                    .Selectable(selectable => selectable.Type(GridSelectionType.Row))
                    .BindTo(Model.CitiesList)
                    .DataSource(ds => ds.Server().Model(m => m.Id(p => p.Value)))
        )

工作正常,网格显示在带有数据的页面上,我对上面没有任何问题。但是,使用浏览器开发人员工具,如果我尝试使用以下语句获取上述网格的数据,则返回空:

jQuery("#gridCities").data("kendoGrid").dataSource.data()

我错过了什么?

提前致谢

解决方案(根据答案):

替换以下内容:

.DataSource(ds => ds.Server().Model(m => m.Id(p => p.Value)))

.DataSource(ds => ds.Ajax().ServerOperation(false).Model(m => m.Id(p => p.Value)))

1 个答案:

答案 0 :(得分:3)

您的网格配置为使用ServerBinding,这意味着TR / TD元素是从服务器呈现的。如果您希望在客户端拥有模型的JavaScript对象而不执行单独的Ajax请求,请将DataSource配置为

ds.Ajax().ServerOperations(false)

这不会执行任何Ajax请求,数据将从服务器int JSON序列化。

相关问题