我的视图上有一个 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 方法读取数据源?