ASP.Net MVC3数据分页

时间:2012-08-24 20:42:33

标签: c# asp.net-mvc-3

我在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值设置为当前页码。

1 个答案:

答案 0 :(得分:1)

我怀疑您的mps.GetArchive(start, end)方法正在返回startend之间的所有记录。通常应排除最终值。

如果您无法更改方法的工作方式,请将其命名为mps.GetArchive(start, end - 1)