【发布时间】:2016-02-09 00:00:05
【问题描述】:
当DataSourceRequestModelBinder 运行并尝试在网格发送的参数上创建DataSourceRequest 时,似乎出现了问题。这是MVC 6 和Kendo.Mvc v2016.1.112。
在 cshtml 方面,Kendo DataSource 如下所示:
var myDS = new kendo.data.DataSource({
serverPaging: true,
serverSorting: true,
pageSize: 3,
transport: {
read: {
url: "/api/kendotest/GetKendoGridData"
}
},
schema: {
data: "Data",
total: "Total"
}
});
控制器看起来像这样:
[Route("GetKendoGridData")]
public DataSourceResult GetKendoGridData([DataSourceRequest]DataSourceRequest request)
{
//create some sample objects
var ids = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
var data = ids.Select(i => new MyModel
{
Id = i
});
return data.AsQueryable().ToDataSourceResult(request);
}
初始读取工作正常,分页工作正常,但服务器端排序不行。我认为这是因为剑道网格发送排序参数的方式导致DataSourceRequestModelBinder 无法解析它。我开始编写自己的 ModelBinder,但后来决定再尝试一次。
【问题讨论】:
标签: c# kendo-ui kendo-grid kendo-asp.net-mvc