我在这里遵循示例:http: //nerddinnerbook.s3.amazonaws.com/Part8.htm并尝试将寻呼机添加到我的应用程序中。
在我的控制器中,我有:
// GET: /Offer/
// GET: /Offer/Page/2
public ActionResult Index(int? page)
{
const int pageSize = 10;
var items = db.Customers.OrderByDescending(x => x.OfferCreatedOn);
var paginatedItems = new PaginatedList<Customer>(items, page ?? 0, pageSize);
return View(paginatedItems);
}
我有一个助手文件夹,里面有这个助手:
public class PaginatedList<T> : List<T>
{
public int PageIndex { get; private set; }
public int PageSize { get; private set; }
public int TotalCount { get; private set; }
public int TotalPages { get; private set; }
public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize)
{
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = source.Count();
TotalPages = (int)Math.Ceiling(TotalCount / (double)PageSize);
this.AddRange(source.Skip(PageIndex * PageSize).Take(PageSize));
}
public bool HasPreviousPage
{
get
{
return (PageIndex > 0);
}
}
public bool HasNextPage
{
get
{
return (PageIndex + 1 < TotalPages);
}
}
}
我现在卡住的地方是放在我的视图顶部的内容。
如果我输入:@model PaginatedList<FGBS.Models.Customer>
- 那么我会收到错误消息,建议:
PaginatedList 不包含“HasPreviousPage”(在帮助程序中)的定义,也不包含我的 Customer 模型中的其他项目(也应该传递给视图)的定义。
如果我将视图的第一行更改为:@model FGBS.Helpers.PaginatedList<Customer>
然后我得到类型或命名空间“客户”找不到,并突出显示以下行:
公共类_Page_Views_offer_index_cshtml:System.Web.Mvc.WebViewPage>
感谢您的任何见解,
标记