1.安装

2.

在NuGet程序包管理控制台 ,输入Install-Package PagedList.mvc 安装PagedList 和PageList.Mvc;

3.

@{
Layout = null;
}
@model PagedList.IPagedList<WebCMS.Model.Admin>
<!DOCTYPE html> <html> <head>
<meta http-equiv="Content-Language" content="zh-cn" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta name="author" content="Fhua" />
<meta name="Copyright" content="BLIT" />
<meta name="viewport" content="width=device-width, maximum-scale=1.0, initial-scale=1.0,initial-scale=1.0,user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<title>账号管理</title>
<link href="/Content/layui/css/layui.css" rel="stylesheet" />
<link href="/Content/fhuaui/css/fhuaui.css" rel="stylesheet" />
<link href="/Content/Font-Awesome/css/font-awesome.css" rel="stylesheet" />
<script src="/Content/layui/layui.js"></script>
</head> <body>
<div class="main-wrap">
<blockquote class="layui-elem-quote fhui-admin-main_hd">
<h2>账号管理</h2>
</blockquote>
<blockquote class="layui-elem-quote fhuaui-tip">
1.默认不显示当前登录用户信息,只可查询当前登录账户建立的用户信息<br /> 2.每个账号必须绑定手机号和邮箱,不然无法找回
</blockquote>
<div class="y-role">
<!--工具栏-->
<div id="floatHead" class="toolbar-wrap">
<div class="toolbar">
<div class="box-wrap">
<div class="l-list clearfix">
<form id="tt" class="layui-form layui-form-pane">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-block" style="margin-left: 0px">
<input id="skey" name="skey" value="" autocomplete="off" placeholder="请输入关键字" class="layui-input" type="text" />
</div>
</div>
<div class="layui-inline">
<a class="layui-btn layui-btn-small" lay-submit="" lay-filter="cx" data-href="/UserManager/Account" data-ajaxhref="/RegCom/Search"><i class="fa fa-search"></i>查询</a>
<a class="layui-btn layui-btn-small do-action" data-type="doAdd" data-href="/UserManager/UserModify?type=Add"><i class="fa fa-plus"></i>新增</a>
<a class="layui-btn layui-btn-small do-action" data-type="doAction" data-href="/UserManager/ResetPsw"><i class="fa fa-edit"></i>初始化密码</a>
<a class="layui-btn layui-btn-small do-action" data-type="doAction" data-href="/UserManager/LockUser"><i class="fa fa-lock"></i>锁定</a>
<a class="layui-btn layui-btn-small do-action" data-type="doAction" data-href="/UserManager/UnlockUser"><i class="fa fa-unlock"></i>解锁</a>
<a class="layui-btn layui-btn-small do-action" data-type="doDelete" data-href="/UserManager/DelUser"><i class="fa fa-trash-o"></i>删除</a>
<a class="layui-btn layui-btn-small do-action" data-type="doRefresh" data-href="/UserManager/AdminAccount"><i class="fa fa-refresh"></i>重新载入</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!--/工具栏-->
<!--文字列表-->
<div class="fhui-admin-table-container">
<form action="/UserManager/Account" class="form-horizontal" id="formrec" method="post" role="form">
<table class="layui-table" lay-skin="line">
<colgroup>
<col width="50">
<col width="50">
<col width="90">
<col width="120">
<col width="100">
<col width="120">
<col width="65">
<col width="65">
<col width="65">
<col width="65">
<col width="65">
<col>
<col width="95">
</colgroup>
<thead>
<tr>
<th>
<input type="checkbox" id="selected-all" />
</th>
<th></th>
<th>AdminID</th>
<th>账号名称</th>
<th>账号状态</th>
<th>头像</th>
</tr>
</thead>
<tbody>
@foreach (var ad in Model)
{
<tr>
<td>
<input id="ck" ids="+@ad.AdminID+" name="ck" type="checkbox" value="true" />
<input name="ck" type="hidden" value="false" />
</td>
<td></td>
<td>@ad.AdminID</td>
<td>@ad.AdminName</td>
<td>@ad.AdminState</td>
<td>@ad.Head_Thumb</td>
</tr>
}
</tbody>
</table>
</form>
</div>
<!--/文字列表-->
<!--分页-->
<div class="fhui-admin-pagelist">
<div id="page">
</div>
</div>
</div>
</div>
<script src="/Content/myjs/global.js"></script>
<script src="/Content/myjs/list.js"></script>
<script>
layui.use(['layer', 'laypage', 'common', 'form'], function() {
var $ = layui.jquery,
layer = layui.layer,
laypage = layui.laypage,
common = layui.common,
form = layui.form();
//分页
laypage({
cont: 'page',
pages: @Model.PageCount, //获取总页数
curr: function() { //通过url获取当前页,也可以同上(pages)方式获取
var page = location.search.match(/page=(\d+)/);
return page ? page[1] : 1;
}(),
jump: function(e, first) { //触发分页后的回调
if(!first) { //一定要加此判断,否则初始时会无限刷新
location.href = '?page=' + e.curr;
}
},
skin: true //颜色'#1E9FFF'
});
//监听查询
form.on('submit(cx)', function(data) {
var url = $(this).data('href');
var ajaxurl = $(this).data('ajaxhref');
if(ajaxurl) {
$.post(ajaxurl, { url: url, keywords: data.field.skey },
function(result, status) {
if(result.state) {
window.location.href = result.data;
}
}, "json");
} else {
common.layerError('提交链接错误!', '提示');
}
return false;
});
});
</script>
</body>
</html>
4. control里面是
引用=》using PagedList;
 /// <summary>
/// 管理员账号
/// </summary>
/// <returns></returns>
//int AdminID = Convert.ToInt32(Session["AdminID"]);
//List<Admin> list = new AdminManager().getAdminInfo(AdminID);
//ViewData["showAdmin"] = list;
public ActionResult AdminAccount( int page=1)
{
const int pageSize = 2;
int AdminID = Convert.ToInt32(Session["AdminID"]);
List<Admin> list = new AdminManager().getAdminInfo();
if(list == null)
{
return HttpNotFound();
}
//ViewData["showAdmin"] = list;
var iUser = list.ToPagedList(page, pageSize);
//ViewData["showSystemLog"] = list;
return View(iUser);
}

5.

每页 @Model.PageSize.ToString()  条记录,共有 @Model.TotalItemCount.ToString() 条记录。第 @(ViewBag.TotalRecords == 0 ? 0 : Model.PageNumber) 页,共 @Model.PageCount 页。   或者

每页 @Model.PageSize 条记录,共有 @Model.TotalItemCount 条记录。第 @(Model.PageCount < Model.PageNumber ? 0 :Model.PageNumber) 页,共 @Model.PageCount 页。

这个条件表达式的目的是防止出现 记录为0的情况,会出现 总页数为0,而当前是第1页的情况。

//PagedList.MVC中 IPagedList类型自带的有分页中用到的参数如:集合总记录数、每页最大记录数。

@Model.PageSize 指设置的是每页最大记录数,

@Model.TotalItemCount 总的记录数 ,

@Model.PageCount 总页数,

@Model.PageNumber 第几页,

@Model.Count() 当前页面上包含的记录数。

@Html.PagedListPager(Model, page => Url.Action("Index",
new { page, sortOrder = ViewBag.CurrentSort, searchString = ViewBag.SearchString })) Html.PagedListPager(Model,Url,PagedListRenderOptions) 分页辅助方法的 new PagedListRenderOptions() 参数可自定义显示格式,可以 例如: @Html.PagedListPager(Model, page => Url.Action("Index", new { page }), new PagedListRenderOptions() { LinkToFirstPageFormat = "首页", LinkToNextPageFormat = "下一页", LinkToPreviousPageFormat = "上一页", LinkToLastPageFormat = "末页", DisplayItemSliceAndTotal = false, MaximumPageNumbersToDisplay = 3 })

这一段来与 http://www.cnblogs.com/liuyuanhao/p/4943940.html

6.吐槽一下我现在的电脑,真卡,等工作了一定先换个电脑,╭(╯^╰)╮


【.NET MVC分页】.NET MVC 使用pagelist 分页的更多相关文章

  1. 让Asp.net mvc WebAPI 支持OData协议进行分页查询操作

    这是我在用Asp.net mvc WebAPI 支持 OData协议 做分页查询服务时的 个人拙笔. 代码已经开发到oschina上.有兴趣的朋友可以看看,欢迎大家指出不足之处. 看过了园子里的几篇关 ...

  2. 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版

    一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...

  3. 织梦dedecms列表页dede:pagelist分页问题

    pagelist是dede定义的一个分页标签.有时直接引用这个标签的时候,会出现分页标签变形问题.我在使用非默认模板的时候就遇到过两次. pagelist本身就有一些样式是在include/arc.l ...

  4. 织梦仿站列表页pagelist分页显示竖排,如何修改成横排?

    织梦仿站列表页pagelist分页显示竖排,如何修改成横排? 织梦列表页的分页标签是采用pagelist来进行调用的,但是很多人在调用之后会出现一个列表竖着排列的问题(横排美观度好一些),还是非常不美 ...

  5. [.net 面向对象程序设计深入](4)MVC 6 —— 谈谈MVC的版本变迁及新版本6.0发展方向

    [.net 面向对象程序设计深入](4)MVC 6 ——谈谈MVC的版本变迁及新版本6.0发展方向 1.关于MVC 在本篇中不再详细介绍MVC的基础概念,这些东西百度要比我写的全面多了,MVC从1.0 ...

  6. <mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的一个问题

    <mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的一个问题 在做项目的时候,我希望静态资源由WEB服务器默认的 ...

  7. mvc设计模式和mvc框架的区别

    Spring中的新名称也太多了吧!IOC/DI/MVC/AOP/DAO/ORM... 对于刚刚接触spring的我来说确实晕了头!可是一但你完全掌握了一个概念,那么它就会死心塌地的为你服务了.这可比女 ...

  8. PHP+jQuery 长文章分页类 ( 支持 url / ajax 分页方式 )

    /* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8 **** ...

  9. [MVC] 深入浅出Spring MVC

    [MVC] 深入浅出Spring MVC 转:http://4925054.blog.51cto.com/4915054/1176855 Spring MVC主要包括以下要点: 1:由Dispatch ...

  10. Webform和MVC,为什么MVC更好一些?

    前言 如果你看了最近微软的议程,你会发现他们现在的焦点除了MVC,还是MVC.问题在于为什么微软如此热衷于丢弃传统的APS.NET Webform而转向ASP.NET MVC?本文就主要来讨论这个问题 ...

随机推荐

  1. 最好的 6 个 HTML5 的多媒体播放器

      是 HTML5 中新引入的标签,用来在 Web 网页中嵌入视频播放功能,无需 Flash 和其他嵌入式插件的支持,是浏览器内建的功能,不过  旨在一些高级浏览器中支持,例如 Firefox, Sa ...

  2. python_48_Python3中字符编码与转码

    python3默认是Unicode,不用声明# -*- coding:utf-8 -*-,如果声明则是utf-8 unicode='你好' print('utf-8:',unicode.encode( ...

  3. vue中的过滤器

    过滤器 过滤器规则 Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化.过滤器可以用在两个地方: 双花括号插值{{}}和 v-bind 表达式 (后者从 2.1.0+ 开始支持).过滤器应 ...

  4. 优化你的java代码性能

    一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子:import java.util. ...

  5. Oracle 自动生成hive建表语句

    从 oracle 数据库导数到到 hive 大数据平台,需要按照大数据平台的数据规范,重新生成建表的 SQL 语句,方便其间,写了一个自动生成SQL的存储过程. ① 创建一张表,用来存储源表的结构,以 ...

  6. rand()和srand()

    C++中rand() 函数的用法 1.rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数. 2.如果你要产生0~99这100个整数中的一个随机整数, ...

  7. django项目实现第三方github登录

    OAuth(开放授权 Open Authorization)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容 ...

  8. Java 对数组的筛选

    在Java里面 一般对一个数组进行筛选,去剔除一些元素,一般做法是用临时数组来存储,把符合条件的元素加入到新数组中,虽然数组有移除的方法但是 是线程不安全的: 而用迭代器Iterator,可以在遍历的 ...

  9. nuxt.js服务端缓存lru-cache

    对于部分网页进行服务端的缓存,可以获得更好的渲染性能,但是缓存又涉及到一个数据的及时性的问题,所以在及时性和性能之间要有平衡和取舍. 官方文档里面写的使用方法 按照这个配置,试过了没什么用,但是从文档 ...

  10. ES6-总结

    在最近进行的项目中,已经全面使用到ES6,这里对ES6进行整理总结.用得比较多的是带*的内容,这些语法.新增类型.模块调用等从代码量上.可读性上.操作上给项目带来了不少便利.   1.语法 1.1.命 ...