ASP.NET MVC 4使用PagedList.Mvc分页
ASP.NET MVC中进行分页的方式有多种,在NuGet上有提供使用PagedList、PagedList.Mvc进行分页。
1. 通过NuGet引用PagedList.Mvc

在安装引用PagedList.Mvc的同时会安装引用PagedList。
2. PagedList.Mvc基本使用
ProvinceController.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; using MvcExample.Models; using PagedList; namespace MvcExample.Controllers
{
public class ProvinceController : Controller
{
private MvcExampleContext ctx = new MvcExampleContext(); public ActionResult Index(int page = )
{
return View(ctx.Provinces.OrderBy(p => p.ProvinceID).ToPagedList(page, ));
} protected override void Dispose(bool disposing)
{
ctx.Dispose();
base.Dispose(disposing);
}
}
}
Index.cshtml:
@model PagedList.IPagedList<MvcExample.Models.Province>
@using PagedList.Mvc;
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<style type="text/css">
ul.pagination
{
margin: 0;
}
.pagination li
{
list-style-type: none;
float: left;
min-width: 15px;
}
</style>
</head>
<body>
<table>
<tr>
<th>
省份ID
</th>
<th>
省份编号
</th>
<th>
省份名称
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.ProvinceID)
</td>
<td>
@Html.DisplayFor(modelItem => item.ProvinceNo)
</td>
<td>
@Html.DisplayFor(modelItem => item.ProvinceName)
</td>
</tr>
}
</table>
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }))
</body>
</html>
运行效果:

引入PagedList.Mvc分页之后生成的分页Html代码:

分页执行的SQL语句:
SELECT TOP (10)
[Extent1].[ProvinceID] AS [ProvinceID],
[Extent1].[ProvinceNo] AS [ProvinceNo],
[Extent1].[ProvinceName] AS [ProvinceName]
FROM ( SELECT [Extent1].[ProvinceID] AS [ProvinceID], [Extent1].[ProvinceNo] AS [ProvinceNo], [Extent1].[ProvinceName] AS [ProvinceName], row_number() OVER (ORDER BY [Extent1].[ProvinceID] ASC) AS [row_number]
FROM [dbo].[Province] AS [Extent1]
) AS [Extent1]
WHERE [Extent1].[row_number] > 10
ORDER BY [Extent1].[ProvinceID] ASC
参考资料:
ASP.NET MVC 4使用PagedList.Mvc分页的更多相关文章
- 再谈使用X.PagedList.Mvc 分页(ASP.NET Core 2.1)
在以前的博文中写过使用X.PagedList.Mvc组件来对ASP.NET MVC应用程序进行分页,可以参考此篇随笔:Asp.net MVC 使用PagedList(新的已更名 为X.PagedLis ...
- Asp.net MVC 使用PagedList(新的已更名 为X.PagedList.Mvc) 分页
在asp.net mvc 中,可以bootstrap来作为界面,自己来写分页程序.也可以使用PagedList(作者已更名为 X.PagedList.Mvc)来分页. 1.首先,在NuGet程序包管理 ...
- asp.net MVC 使用PagedList.MVC实现分页
在上一篇的EF之DB First中,存在以下的两个问题: 1. 添加/编辑页面显示的是属性名称,而非自定义的名称(如:姓名.专业...) 2. 添加/编辑时没有加入验证 另外数据展示使用分页 @Htm ...
- 如何使用 PagedList.Mvc 分页
刚开始找PagedList分页不是例子太复杂,就是写的过于简略,由于对于MVC的分页不太了解,之前使用的都是Asp.Net 第三方控件 + 数据库存储过程分页.还是老外写的例子简捷,https://g ...
- MVC使用x.PagedList分页
MVC分页 1.Install Package Tools=> NuGet Package Manager=>Manager NuGet Packages of Solution
- Mvc 自带分页控件PagedList.Mvc Demo示例
添加/下载PagedList.Mvc 直接搜索mvc pagelist 就会出来.安装完成即可.在项目的packages文件夹下面就会出现PagedList.Mvc.4.5.0.0 和PagedLis ...
- MVC+Bootstrap+Drapper使用PagedList.Mvc支持多查询条件分页
前几天做一个小小小项目,使用了MVC+Bootstrap,以前做分页都是异步加载Mvc部分视图的方式,因为这个是小项目,就随便一点.一般的列表页面,少不了有查询条件,下面分享下Drapper+Page ...
- PagedList.Mvc只有一行时不显示分页
PagedList.Mvc默认总是显示分页,可以通过设置DisplayMode在只有一行时不显示分页 @Html.PagedListPager(Model, page => Url.Action ...
- PagedList.MVC分页
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
随机推荐
- Log4j 与 Logback的ConversionPattern对比
为了能将log4j的配置无缝转到logback,需要了解其中ConversionPattern的差异,以下是对比表格,内容来自: log4j官网 logback官网 其中可能需要转换的地方主要有两块: ...
- Web测试基础点
摘自:软件工程师成长之路 1.获取当前使用的Flash播放器版本(Flash Player Version)信息 在浏览器地址栏输入http://www.playerversion.com/,即可显示
- 使用Xcode6创建EmptyProject
多年不写文章,今天突然准备好好写一些博客,以记录自己在编程这条道路上的成长,与所学所悟.提起笔来,才发现,自己的语言之匮乏,思虑再三,始觉不顺.也罢,从头开始慢慢训练吧. 自Xcode6更新之后,默认 ...
- [Leetcode][JAVA] Distinct Subsequences
Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...
- Oozie命令行常用命令汇总[转]
Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...
- Windows & Office完美结合,助力办公
虚拟桌面——休闲工作分开来 Windows 10最令我欣愉的是加入了虚拟桌面的功能. 作为一名拖延症晚期患者,早已病入膏肓.每次工作时总会不知不觉地将实现转移到已经打开的浏览器及聊天工具上,时间就这样 ...
- RHEL6.5及Win7的和谐共处(投机版)
背景: 在Windows XP存在时,装了个RHEL6.5,用的是安装程序自带的Grub,后来将XP删除后重装了Windows7,RHEL的Grub被覆盖,启动不了RHEL了,于是补上RHEL的引导… ...
- 关于winform中*.exe.config中的appSettings的节点的读取与修改
//读取到这个节点 string file = System.Windows.Forms.Application.ExecutablePath; Configuration config = Conf ...
- sgdisk常用操作
与fdisk创建MBR分区一样,sgdisk是一个创建GPT分区的工具,如果你还不了解GPT分区,请参考The difference between booting MBR and GPT with ...
- Selenium自动化测试问题
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 ...