Пользовательский интерфейс Kendo и ASP.NET MVC: фильтрация на стороне сервера - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть сетка 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 для фильтрации / разбиения по страницам / сортировки по сетке на стороне сервера.

...