mvc4 html.pager,使用MVCPager进行博客园首页列表数据的分页显示功能

本文详细讲述了如何修改PagedList源代码以适应需求,并介绍如何在项目中使用扩展方法ToPagedList实现动态分页。接着展示了如何在控制器中结合MvcPager进行高效博客列表分页显示,包括AjaxPager的配置与使用实例。
摘要由CSDN通过智能技术生成

下载 MVcPager源代码以后,我们就先来修改一下那个分页使用的类PagedList。

copycode.gifPagedList : List           PagedList(IList items,  pageIndex,              PageSize =            TotalItemCount =            CurrentPageIndex =             ( i = StartRecordIndex - ; i  items,  pageIndex,  pageSize,  TotalItemCount =           CurrentPageIndex =ageSize =           CurrentPageIndex { ;           PageSize { ;   TotalItemCount { ;   TotalPageCount {  {  ()Math.Ceiling(TotalItemCount / (         StartRecordIndex {  {  (CurrentPageIndex - ) * PageSize +           EndRecordIndex {  {  TotalItemCount > CurrentPageIndex * PageSize ? CurrentPageIndex *   }

copycode.gif

2.在我们修改了PagedList类以后,还要修改哪些地方呢?还有一个扩展方法,用来扩展PagedList

copycode.gifpublic static class PageLinqExtensions     

{

public static PagedList ToPagedList (

this IEnumerable allItems,  int pageIndex, int pageSize )

{

if (pageIndex 

pageIndex = 1;

var itemIndex = (pageIndex-1) * pageSize;

var pageOfItems = allItems.Skip(itemIndex).Take(pageSize);

var totalItemCount = allItems.Count();

return new PagedList(pageOfItems, pageIndex, pageSize, totalItemCount);

}

}

copycode.gif

3.在我们修改了扩展方法以后,就可以在IEnumerable以后进行.ToPagedList转换成PagedList 分页类

将获取到的分页列表数据转换为PagedList类型以后,我们就要使用MvcPager来进行分页显示

我们定义了博客列表显示Controller,将从数据库中获取到的列表数据通过MvcPager分页

copycode.gif@{     Layout = null;  }

@using Webdiyer.WebControls.Mvc

@model PagedList

@{     foreach (Models.BlogInfo blogInfo in Model)

{     

0  

           

                @blogInfo.Title          

                 @blogInfo.BlogContent ...           

                 @blogInfo.AuthorID                @blogInfo.PublishTime.ToString()

评论(0)                     阅读(1)              

         
     }

@Html.AjaxPager(Model, new PagerOptions()

{

PageIndexParameterName = "id",

ShowDisabledPagerItems = false,

ShowPageIndexBox = true

},

new AjaxOptions() { UpdateTargetId = "post_list", OnBegin = "function(){alert('Ajax OnBegin 事件被引发');}", OnComplete = "AjaxStop" })

}

copycode.gif

5.Html.AjaxPager()方法就是MvcPager的一个扩展方法,扩展了HtmlHelper。对于其中的几个参数我就不介绍了,也很容易理解。

6.有图有证据 下面我来展示一下我的系统分页显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值