我试图用 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);
Tot
可能无法被AC.Rows
整除,所以你应该做类似int totpages = (int)Math.Ceiling(((double)Tot)/ AC.Rows);