-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値を設定して、ビューとViewBagの次のbtnを無効にします。 .pagenumは、ビューのpagenum値を現在のページ番号に設定します。

4

1 に答える 1

1

あなたのメソッドは、との間のmps.GetArchive(start, end)すべてのレコードを返していると思います。通常、終了値は除外する必要があります。startend

メソッドの動作を変更できない場合は、として呼び出しますmps.GetArchive(start, end - 1)

于 2012-08-24T20:46:59.487 に答える