我有一个Kendo网格,我想要对其进行服务器端过滤,分页和排序。
该网格是通过使用Kendo的jQuery版本的普通JavaScript实现的,因此我无权访问Kendo C#HTML Helpers。数据源看起来像这样:
new kendo.data.DataSource({
transport: {
read: {
url: '/MyEndpoint',
dataType: 'json',
type: 'get'
},
},
schema: {
data: 'data',
total: 'total'
},
serverPaging: true,
serverFiltering: true,
serverSorting: true
});
它使用以下结构发送请求:
/Endpoint/?take=20&skip=0&page=1&pageSize=20&filter%5Bfilters%5D%5B0%5D%5Bfield%5D=Name&filter%5Bfilters%5D%5B0%5D%5Boperator%5D=eq&filter%5Bfilters%5D%5B0%5D%5Bvalue%5D=test&filter%5Blogic%5D=and
我的控制器的外观如Kendo文档中所述:
public IHttpActionResult MyControler([DataSourceRequest] DataSourceRequest req)
{
return Json(SomeQuery.ToDataSourceResult(req));
}
问题是控制器似乎无法将url参数与控制器匹配。调用控制器动作时,req始终为null。使用Kendo的jQuery版本甚至可以做到这一点吗?我在文档中找不到任何不使用C#HTML帮助器来实现服务器端网格过滤/分页/排序的示例。