我在MVC3控制器操作中获得了以下C#代码。
public ActionResult MyDocuments(int Page)
{
int start = (Page==1?1:(Page-1)*4);
int end = (Page==1?4:start + 4);
// start parameter begins at 1
Archive docs = mps.GetArchive(start, end);
ViewBag.docs = docs;
if (docs.Rows.Count() < 4)
{
ViewBag.lastPage = 1;
}
else
{
ViewBag.lastPage = 0;
}
ViewBag.pagenum = Page;
return View();
}
我遇到的问题是它总是以上一页的最后一个条目开始下一页。
我在这里做错了什么?我不知道我将拥有多少页面,我只需要检查docs对象中返回的数字,看它是否&lt; 4,然后我设置ViewBag.lastPage值以禁用我视图中的下一个btn,ViewBag.pagenum将View中的pagenum值设置为当前页码。
答案 0 :(得分:1)
我怀疑您的mps.GetArchive(start, end)
方法正在返回start
和end
之间的所有记录。通常应排除最终值。
如果您无法更改方法的工作方式,请将其命名为mps.GetArchive(start, end - 1)
。