当我捕获Kendo Grid的读取流量时,我可以看到它只接收当前页面的足够数据。因此,如果页面大小为5,则只传输五个项目。
考虑到这一点,在action方法中过滤数据有什么意义吗?就像使用take
和skip
Linq命令一样,或者ToDataSourceResult
扩展方法会处理所有事情?
答案 0 :(得分:1)
假设您的结果是IQueryable<T>
类型,ToDataSourceResult()
会将执行推迟到数据库级别(假设您正在使用EntityFramework或类似的ORM)来处理分页,过滤和排序。
你可以在这里阅读更多相关信息:http://docs.telerik.com/kendo-ui/aspnet-mvc/helpers/grid/ajax-binding(在步骤10之后有一个黄色的特定功能标注)
答案 1 :(得分:1)
我认为将LINQ选择的数据限制为网格所包含的列并让它返回IQueryable
是件好事。通常,除了致电ToDataSourceResult
外,您无需执行任何其他操作。它处理服务器端过滤,分页和排序。
如果你想做除此之外的任何事情,你可以扩展它。