MVC Pager使用

View中加入引用:@using Webdiyer.WebControls.Mvc;

使用时代码:

<div id="Pagination">
                @Html.Pager(Model.DataList, new PagerOptions
 {
     PageIndexParameterName = "PageIndex",
     ShowPrevNext = true,
     FirstPageText = "首页",
     PrevPageText = "上一页",
     NextPageText = "下一页",
     LastPageText = "末页",
     HorizontalAlign="right",
     PagerItemTemplate=" {0}"
 })
            </div>

  

后台Controller:

public ActionResult NewsList(int tid = 1, int PageIndex = 1)
        {
            int PageSize = 10;
            int RecordCount = db.ArticlesInfos.Count();
            int PageCount = (RecordCount / PageSize) + (RecordCount % PageSize > 0 ? 1 : 0);

            ViewData["Tid"] = tid;

            PagedList<Models.ArticlesInfo> list = db.ArticlesInfos.OrderByDescending(c => c.ID).AsQueryable().ToPagedList(PageIndex, PageSize);
            ViewModel.MVCPagerModel<Models.ArticlesInfo> model = new ViewModel.MVCPagerModel<Models.ArticlesInfo>();
            model.PageCount = PageCount;
            model.RecordCount = RecordCount;
            model.PageSize = PageSize;
            model.PageIndex = PageIndex;
            model.DataList = list;
            return View(model);
        }

分页类:

public class VMNewsListPage<T>
    {
        public int PageIndex { get; set; }
        public int PageCount { get; set; }
        public int RecordCount { get; set; }
        public int PageSize { get; set; }
        public PagedList<T> ArticlesInfos { get; set; }
    }

demo:

@{
    ViewBag.Title = "NewsList";
    Layout = "~/Views/Shared/_LayoutPageOne.cshtml";

}

@model MvcApplication1.ViewModel.MVCPagerModel<MvcApplication1.Models.ArticlesInfo>
@using Webdiyer.WebControls.Mvc;

@section header{

}

<div class="pageban" style="background-image: url(/images/20141002091135849.jpg);"></div>
<div class="Contain">
    <!--/*内容*/-->
    <div class="Left">
        <div class="Sidebar">
            <div class="title">新闻动态</div>
            <ul class="sub">
                <li><a href="NewsList?tid=1&PageIndex=1" id="a_group_1" class="@(Convert.ToInt32(ViewData["Tid"]) == 1 ? "aon" : "")">公司新闻</a></li>
                <li><a href="NewsList?tid=2&PageIndex=1" id="a_group_2" class="@(Convert.ToInt32(ViewData["Tid"]) == 2 ? "aon" : "")">行业动态</a></li>
            </ul>
            @Html.Partial("UCLeftContact")
        </div>
        <!--/*正文*/-->
        <div class="Main">

            <div class="Current">
                <em>
                    您在这里:

                    <a href="Index">首页</a>
                    >
                    <a href="[email protected]["Tid"]&PageIndex=1" id="a_group_nav_1">新闻动态</a> > <a href="[email protected]["Tid"]&PageIndex=1" id="a_group_nav_2">@(Convert.ToInt32(ViewData["Tid"]) == 1 ? "公司新闻" : "行业动态")</a> >
                </em>
                <b id="a_group_nav_3">@(Convert.ToInt32(ViewData["Tid"]) == 1 ? "公司新闻" : "行业动态")</b>
            </div>
            <!--/*新闻列表*/-->
            <dl class="Newlist">

                @foreach (var item in Model.DataList)
                {
                    <dd>
                        <div class="pic">
                            <a href="[email protected]" target="_blank" title="@item.Title">
                                <img src="@item.Img" alt="@item.Title">
                            </a>
                        </div>
                        <div class="text">
                            <h1>
                                <span>@item.CreateDate.ToString("yyyy-MM-dd")</span>
                                <a href="[email protected]" target="_blank" style="">@item.Title</a>
                            </h1>
                            <p>@(Framework.Common.Utils.GetHtml(HttpUtility.HtmlDecode(item.Contents), 60))...</p>
                            <a href="[email protected]" target="_blank" class="detail">详细>></a>
                        </div>
                    </dd>
                }

            </dl>
            <!--/*pages*/-->
            <div id="Pagination">
                @Html.Pager(Model.DataList, new PagerOptions
           {
               PageIndexParameterName = "PageIndex",
               ShowPrevNext = true,
               FirstPageText = "首页",
               PrevPageText = "上一页",
               NextPageText = "下一页",
               LastPageText = "末页",
               HorizontalAlign = "right",
               PagerItemTemplate = " {0}"
           })
            </div>
            <!--/*新闻列表end */-->
        </div>

        <div class="clear"></div>
    </div>
    @Html.Partial("UCDetailsRight")
    <div class="clear"></div>
    <!--/*内容 end*/-->
</div>

  

参考:http://www.webdiyer.com/mvcpager/

时间: 2024-10-07 21:46:53

MVC Pager使用的相关文章

转 ---- Asp.net mvc项目分页功能

1.定义一个分页用的Page<T>类 1 /* 使用示例: 2 var pager = new Pager<Article>( 3 this.ControllerContext, //上下文 4 type.Articles,//数据源 5 10//,每页大小 6 //"page" url中分页参数名称,默认为page 7 ); 8 * */ 9 /// <summary> 10 /// 基于ControlerContext的分页辅助类 11 ///

Lind.DDD.Paging分页模块介绍

回到目录 分页组件网上有很多,MVC.Pager,JSPager等,通过实现方式大体分为前端分页和后端分页,前端分页是前台对list内存本地集合进行分页,缺点就是在大数据情况下,内存占用过高:后端分页就是UI把要返回的页号告诉后台,由后台组织数据并返回,这种方法就是我们经常看到的了:而根据后台集合种类又可以分类List和IQueryable,前者是本地集合,在返回数据时,直接把第几页共几条的集合返回:IQueryable是预查询集合,它是Linq的产物,在很多地里它不通用,除非你的ORM框架支持

扩展方法学习发展之路

大学学习的java,工作后转成了C#,由于工作需要,全力去学习了C#,学习中,相信大家都会有相同的疑惑,在判断一个字符串是否为空的时候总会用到string.IsNullOrEmpty(s)这个方法,最开始就想到了是不是反射,后面才知道这是c#的扩展方法,后面的内容慢慢讲解我对扩展方法由浅到深的理解与用法. 1:扩展方法的自定义实现,我这里特别用到了判断类型是否为数值类型的方法(可以去比较学习下),里面子定义了4个扩展方法 1 namespace ConsoleApplication1 2 { 3

MVC如何使用开源分页插件shenniu.pager.js

最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只能ip访问,没有域名哈哈),其架构组成由:aspnetcore1.0.0+redis+ postgressql+TaskMainForm服务,这个项目在后期会开源出来供大家分享学习,站点地址点这里心声网:一者是目前正在做的后台管理框架一叶子,现目前刚好吧js分页插件shenniu.pager.js写

asp.net mvc 简易通用自定义Pager实现分页

asp.net mvc 简易通用自定义Pager实现分页 Intro 一个WEB应用程序中经常会用到数据分页,本文将实现一个简单通用的分页组件,包含一个 PagerModel (用来保存页码信息),一个 HtmlHelper 的 Pager 扩展方法和一个 PagedListModel<T> 分页数据模型. PagerModel 分页模型 PagerModel 用来保存分页信息,代码实现如下: 1 /// <summary> 2 /// PagerModel 分页模型 3 ///

asp.net mvc 自定义pager封装与优化

asp.net mvc 自定义pager封装与优化 Intro 之前做了一个通用的分页组件,但是有些不足,从翻页事件和分页样式都融合在后台代码中,到翻页事件可以自定义,再到翻页和样式都和代码分离, 自定义分页 pager 越来越容易扩展了. HtmlHelper Pager扩展 Pager V1.0 : 1 /// <summary> 2 /// Pager V1.0 3 /// </summary> 4 /// <param name="helper"&

asp.net mvc 的几种分页Pager

第一种 /// <summary> /// 分页Pager显示 /// </summary> /// <param name="html"></param> /// <param name="currentPageStr">标识当前页码的QueryStringKey</param> /// <param name="pageSize">每页显示</param

ASP.NET MVC框架下添加菜单栏及分页项目

原创声明:本文为作者原创,转载请注明出处:http://www.cnblogs.com/DrizzleWorm/p/7274866.html ,谢谢! 我是做前端开发的,之前用C#的三层架构(UI.BLL.DAL)做过一个网站,这是我第一次接触ASP.NET MVC框架,首先给大家分享别人整理的ASP.NET MVC框架的一组教程:http://www.cnblogs.com/powertoolsteam/archive/2015/08/13/4667892.html内容很齐全,我是在先看了其他

MVC 翻頁的那些坑

思绪良久,最后还是决定记录一下遇到的坑,毕竟被 ‘折磨’ 了三天,关于分页,这个话题,我一开始时拒绝的,因为真正接触项目的时候,才发现每个框架都会封装一套自己的分页,毕竟相同风格的项目是不常见的,而在学校书本上讲的那套 web form分页的那套说辞也out 了,学校接触的MVC 不多,现在项目赶上,就来谈谈分页的坑.一般如果自己写底层分页的话,无非就是,几个辅助类,然后一个Pager的扩展类,然后自己封装下样式,如果不熟悉的话,比如说我,还是用网上开源的吧 EF 误区 1. 一直以来,自己的无