Как связать Kendo ListView с моделью и сделать его доступным для страниц

У меня есть Kendo ListView на мой взгляд, как это:

@(Html.Kendo().ListView<SearchResultViewModel>(Model)
    .Name("searchResults")
    .TagName("div")            
    .DataSource(dataSource => {     
        dataSource.Model(model => model.Id("ID"));
        dataSource.PageSize(100);

    })
    .Pageable()    
    .Selectable()
)

контроллер:

[HttpPost]
public ActionResult AdvancedSearch(AdvancedSearchViewModel criteria)
{
    // Get the search results (IEnumerable<SearchResultViewModel>)...
    var results = GetSearchResults(criteria);

    return View(results );
}

Этот ListView находится внутри частичного представления на странице расширенного поиска, которая отправляет критерии поиска в контроллер через POST.

Затем контроллер возвращает результаты поиска в представление, используя SearchResultsViewModel как модель.

Проблема в том, что нумерация страниц не работает, и я знаю, что это происходит потому, что нумерация страниц работает только тогда, когда существует серверный вызов ajax для чтения данных. Но проблема в том, что я не могу использовать dataSource.Read чтобы получить данные через ajax-вызов, потому что, как я уже сказал, критерии поиска находятся внутри формы и отправляются в контроллер через POST.

Теперь возникает вопрос: как я могу сделать работу разбивки на страницы без изменения источника данных или прочитать источник данных методом POST?

1 ответ

Решение

В DataSource вы сможете добавить

Datasource.ServerOperation(false) // это должно включить пейджинг на клиенте.

Другие вопросы по тегам