У меня есть сетка Kendo, для которой я хочу фильтровать, разбивать на страницы и сортировать на стороне сервера.
Сетка реализована на обычном JavaScript с использованием версии Kendo для jQuery, поэтому у меня нет доступа к помощникам Kendo C # HTML.Источник данных выглядит примерно так:
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 для фильтрации / разбиения по страницам / сортировки по сетке на стороне сервера.