适用于WebForm Mvc的Pager分页组件C#实现

2019-12-30 12:19:19王冬梅

4.  PagerLinqExtension( 基于linq的扩展)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web;

namespace Infrastruction.Pager
{
  public static class PagerLinqExtension
  {

    public static PagedList<T> ToPagedList<T>(this IQueryable<T> source, int pageIndex, int pageSize)
    {
      return new PagedList<T>(source, pageIndex, pageSize);
    }

  }
}

调用方法 

1.Webform调用:   <%=PagerHelper.Pager("Products.aspx", pageList, new { cid=Cid})%>   或者用literal在后台绑定也行

2.Mvc调用:

 需要扩展一下方法


namespace System.Web.Mvc.Html
{
  public static class HtmlExtension
  {
    public static IHtmlString Pager(this HtmlHelper helper, string url, IPagedList pagedList)
    {
      return helper.Raw(PagerHelper.Pager(url, pagedList));
    }
    public static IHtmlString Pager(this HtmlHelper helper, string url, IPagedList pagedList, dynamic objAttr)
    {
      return helper.Raw(PagerHelper.Pager(url, pagedList, objAttr));
    }
  }
}

然后页面调用@Html.Pager("Products.aspx", pageList, new { cid=Cid,......})

全部的代码都在上面,希望大家认真学习,对大家学习使用分页控件有所帮助。



注:相关教程知识阅读请移步到c#教程频道。