@html.pagedlistpager post 提交,MvcPager 分页示例 — 实现IPagedList接口

这个博客展示了如何在ASP.NET MVC中使用自定义的`MyPagedList`类实现分页功能。`MyPagedList`类继承了`IPagedList`接口,并提供了构造函数来根据当前页、每页大小和总项数进行初始化。在视图中,通过`@foreach`循环遍历分页数据,并使用`@Html.Pager`辅助方法创建分页链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

View:

@model MyPagedList

@foreach (var itm in Model.PagedItems)

{

@itm

}

@Html.Pager(Model,new PagerOptions{PageIndexParameterName = "id",PagerItemTemplate = "{0} "})

Model:

public class MyPagedList :IPagedList

{

public MyPagedList(IEnumerable currentPageItems,int pageIndex, int pageSize, int totalItemCount)

{

CurrentPageIndex = pageIndex;

PageSize = pageSize;

TotalItemCount = totalItemCount;

PagedItems = currentPageItems.ToList();

}

public MyPagedList(IEnumerable allItems, int pageIndex, int pageSize)

{

CurrentPageIndex = pageIndex;

PageSize = pageSize;

var items = allItems as IList ?? allItems.ToList();

TotalItemCount = items.Count();

int startIndex = (pageIndex - 1)*pageSize;

PagedItems = items.Skip(startIndex).Take(pageSize).ToList();

}

public List PagedItems { get; set; }

public int CurrentPageIndex { get; set; }

public int PageSize { get; set; }

public int TotalItemCount { get; set; }

public IEnumerator GetEnumerator()

{

return PagedItems.GetEnumerator();

}

IEnumerator IEnumerable.GetEnumerator()

{

return GetEnumerator();

}

}

Controller:

public ActionResult IPagedList(int id=1)

{

MyPagedList list=new MyPagedList(Enumerable.Range(1,88),id,5);

return View(list);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值