-1

我在 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 对象中返回的数字是否小于 4,然后我设置 ViewBag.lastPage 值以禁用我的 View 和 ViewBag 中的下一个 btn .pagenum 将 View 中的 pagenum 值设置为当前页码。

4

1 回答 1

1

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

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

于 2012-08-24T20:46:59.487 回答