Mvc自定义分页控件

MVC开发分页常常使用第三方控件,生成的分页HTML带有版权申明,虽然免费,但是总有的别扭。于是,某日,楼主闲来蛋疼,折腾了个自定义分页控件:

先来展示下效果图:

1》当分页不超过10页的时候,完全显示出来:

2》当分页超过10页,效果图如下所示:

再来看看生成的分页代码,竟然和楼主一样纯洁!!!

3》支持自定义路由、参数、页码html格式、首末页是否显示、上下页是否显示、URL分页参数传递功能。

使用方法:

1、引用 YYP.PagerHtml.dll

2、页面使用

@using YYP.PagerHtml
@{
    ViewBag.Title = "Index";
}
@model MvcApplication1.Models.PageOfList<Person>
<h2>Index</h2>
@foreach (var item in Model.Items)
    {
         @(item.UserId)@(item.UserName)<br />
    }
    <br />
@{
    var valueDic = new RouteValueDictionary();
    valueDic["type"] = "555";
}
@Html.PageHtml(new PagerOptions() {
    PageCount = Model.TotalPageCount, //页数
    RouteName = "MyRoute", //路由
    PageIndexParameterName = "page",//分页参数名
    CurrentPagerItemFormatString = "<span>{0}</span>",//当前页html
    NumericPagerItemFormatString = "<a href=\"{0}\">{1}</a>", //其它页html
    ShowFirstLast = true,//是否显示首末页(默认不显示)
    ShowPrevNext = true,//是否显示上下页(默认不显示)
    IsASC = true//升序(默认升序)
    //ValueDict = valueDic//可以传多个参数
})

效果图:

时间: 2024-10-10 11:04:49

Mvc自定义分页控件的相关文章

WPF管理系统自定义分页控件 - WPF特工队内部资料

原文:WPF管理系统自定义分页控件 - WPF特工队内部资料 最近做一个演示的管理系统项目,需要用到分页控件,在网上找了很多,依然找到与UI模版匹配的,最后干脆自己写一个. 分页控件分析: 1.分页控件分简单显示和复杂显示两种: 2.包含上一页.下一页以及页码明细逻辑处理: 3.页码总数小于7时显示默认显示,大于7时切换复杂显示: 4.页码数.索引.总条数计算等: 先来一张效果图: 啥也不说了直接上代码 MISPager.xaml部分 <ResourceDictionary xmlns="

winform 自定义分页控件 及DataGridview数据绑定

分页效果如上图所示,用到的控件均为基本控件 ,其方法如下 右击项目-添加-新建项 选择用户控件 然后在用户控件中拖入所需要的Label,Button,Text 用户控件全部代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; usin

Winform自定义分页控件的实现

实现效果 有点丑陋 但是功能是没问题的 测试过 实现思路 先创建一个用户控件 代码实现 public partial class PagerControl : UserControl { private int record = 0; /// <summary> /// 总记录数 /// </summary> public int Record { get { return record; } set { record = value; InitPageInfo(); } } pr

winform自定义分页控件

1.控件代码: public partial class PagerControl : UserControl { #region 构造函数 public PagerControl() { InitializeComponent(); } #endregion #region 分页字段和属性 private int pageIndex = 1; /// <summary> /// 当前页面 /// </summary> public virtual int PageIndex {

自定义分页控件PageList

1 using System; 2 namespace Commons.PageList 3 { 4 interface IPageList 5 { 6 int PageIndex { get; } 7 int PageSize { get; } 8 int TotalCount { get; } 9 int TotalPage { get; } 10 } 11 } 1 using System.Collections; 2 using System.Collections.Generic; 3

freemaker自定义分页控件实现

<link href="${res}/css/pages-jhdb.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="${res}/js/laypage/laypage.js" ></script> #pages-jhdb{padding-left:5px;} /*!

基于KO+bootstrap+MVC的分页控件

JS: 1 /// <reference path="../knockout-3.2.0.js" /> 2 var ViewModel = function (data) { 3 var self = this; 4 self.ObjectList = ko.observableArray(data.ObjectList) 5 self.TotalCount = ko.observable(data.TotalCount); 6 self.PerCount = ko.obs

easyui-datagrid自定义分页控件样式

var p = $('#tbTaskList').datagrid('getPager'); $(p).pagination({ pageSize: 20,//每页显示的记录条数,默认为10 pageList: [20, 50, 100],//可以设置每页记录条数的列表 beforePageText: '第',//页数文本框前显示的汉字 afterPageText: '页 共 {pages} 页', displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记

[转]Oracle分页之二:自定义web分页控件的封装

本文转自:http://www.cnblogs.com/scy251147/archive/2011/04/16/2018326.html 上节中,讲述的就是Oracle存储过程分页的使用方式,但是如果大量的页面要使用这个分页存储过程,如果利用上节的方式,势必要书写大量的代码.如何才能够少些代码书写量呢?当然了,利用自定义web控件进行一下封装,也许是一个好方法,但是如何进行封装呢? 首先,就是在项目中添加一个“Web 用户控件“的页面,我们定义为:MyPagination.ascx 然后,就是