0

我正在尝试使用 LINQ 进行自定义分页。一切安好。但是最后一页会产生上一页的输出值。我知道因为这个,

int skip = Math.Max(AC.rows * (AC.page - 1), 0);  // Doing page -1.

但我需要知道如何使逻辑纯粹用于分页。请有人指导我为此做正确的逻辑。

代码

var selectpending = CsA.CsAutoCompletes(AC, searchTerm);
var Tot = selectpending.Count();
int skip = Math.Max(AC.rows * (AC.page - 1), 0);
int totpages = Convert.ToInt32(Tot / AC.rows);

um = selectpending.Skip(skip).Take(AC.rows).ToList();
return Json(new
{
    rows = um,
    records = Tot,
    page = AC.page,
    total = totpages
}
, JsonRequestBehavior.AllowGet);
4

1 回答 1

2

Tot可能不能被 整除AC.Rows,所以你应该做类似的事情int totpages = (int)Math.Ceiling(((double)Tot)/ AC.Rows);

于 2013-02-01T07:03:35.757 回答