2

我对 IQueryable 集合进行一些排序并获取一个项目。我的页面上还有一些<a>链接,我想单击这些链接以转到集合中的上一个和下一个项目。

由于 ID不是连续的,我不能只做简单的算术来达到它们。

给定记录的位置,如何从 IQueryable 中获取上一个和下一个项目?

4

2 回答 2

4

使用Take()Skip()实现您的分页系统。您不需要 ID 是连续的,您只需按照查询返回的顺序返回对象。

var itemsPerPage = 10;
var pageNumber = 2; // Say it starts from 1

var values = query.Skip((pageNumber - 1) * itemsPerPage).Take(itemsPerPage);
于 2013-03-29T15:48:10.740 回答
0

您可以使用LinkedList

LinkedList 节点支持调用其上一个和下一个兄弟节点。LinkedList 的构造函数采用 IEnumerable,因此您应该能够轻松实现它。

于 2013-03-29T15:56:09.320 回答