using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace PagedList.MVCWeb.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index(int pageIndex=1)
{
int vPageCount = 0;
List<Product> vProductList = GetPageSource(pageIndex, out vPageCount);
StaticPagedList<Product> vStaticPagedList = new StaticPagedList<Product>(vProductList, pageIndex, 3, vPageCount);
return View(vStaticPagedList);
} // 可改成读数据库
[NonAction]
List<Product> GetPageSource(int argPageindex,out int argPageIndex)
{
int vPageSize=3;
List<Product> vProductList = DataSource();
argPageIndex = vProductList.Count();
return vProductList.Skip((argPageindex - 1) * vPageSize).Take(vPageSize).ToList();
} [NonAction]
List<Product> DataSource()
{
return new List<Product>() {
new Product() {
ID=1,
Name="Name1",
Url="URL1",
Price=1,
CreateDate=DateTime.Now
} ,
new Product() {
ID=2,
Name="Name2",
Url="URL2",
Price=2,
CreateDate=DateTime.Now
} ,
new Product() {
ID=3,
Name="Name3",
Url="URL3",
Price=3,
CreateDate=DateTime.Now
} ,
new Product() {
ID=4,
Name="Name4",
Url="URL4",
Price=4,
CreateDate=DateTime.Now
} ,
new Product() {
ID=5,
Name="Name5",
Url="URL5",
Price=5,
CreateDate=DateTime.Now
} ,
new Product() {
ID=6,
Name="Name6",
Url="URL6",
Price=6,
CreateDate=DateTime.Now
} ,
new Product() {
ID=7,
Name="Name7",
Url="URL7",
Price=7,
CreateDate=DateTime.Now
} ,
new Product() {
ID=8,
Name="Name8",
Url="URL8",
Price=8,
CreateDate=DateTime.Now
}
};
}
}
}

Index View

@using PagedList.Mvc
@using PagedList.MVCWeb
@model PagedList.StaticPagedList<Product> @{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/PagedList.css" rel="stylesheet" />
<title>Index</title>
</head>
<body>
@using(Html.BeginForm())
{
<div>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>URL</th>
<th>Price</th>
<th>CreteDate</th>
</tr>
@foreach (Product item in Model)
{
<tr>
<td>@item.ID</td>
<td>@item.Name</td>
<td>@item.Url</td>
<td>@item.Price</td>
<td>@item.CreateDate</td>
</tr>
}
</table> @Html.PagedListPager((PagedList.IPagedList)Model, x => Url.Action("Index", new {pageIndex=x}))
</div>
}
</body>
</html>

装了PagedList.Mvc,”~/Content/PagedList.css“NuGet会自动的放在你的Content中

PagedList.MVC分页的更多相关文章

  1. ASP.NET MVC 4使用PagedList.Mvc分页

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

  2. 如何使用 PagedList.Mvc 分页

    刚开始找PagedList分页不是例子太复杂,就是写的过于简略,由于对于MVC的分页不太了解,之前使用的都是Asp.Net 第三方控件 + 数据库存储过程分页.还是老外写的例子简捷,https://g ...

  3. 再谈使用X.PagedList.Mvc 分页(ASP.NET Core 2.1)

    在以前的博文中写过使用X.PagedList.Mvc组件来对ASP.NET MVC应用程序进行分页,可以参考此篇随笔:Asp.net MVC 使用PagedList(新的已更名 为X.PagedLis ...

  4. Mvc 自带分页控件PagedList.Mvc Demo示例

    添加/下载PagedList.Mvc 直接搜索mvc pagelist 就会出来.安装完成即可.在项目的packages文件夹下面就会出现PagedList.Mvc.4.5.0.0 和PagedLis ...

  5. MVC+Bootstrap+Drapper使用PagedList.Mvc支持多查询条件分页

    前几天做一个小小小项目,使用了MVC+Bootstrap,以前做分页都是异步加载Mvc部分视图的方式,因为这个是小项目,就随便一点.一般的列表页面,少不了有查询条件,下面分享下Drapper+Page ...

  6. asp.net MVC 使用PagedList.MVC实现分页

    在上一篇的EF之DB First中,存在以下的两个问题: 1. 添加/编辑页面显示的是属性名称,而非自定义的名称(如:姓名.专业...) 2. 添加/编辑时没有加入验证 另外数据展示使用分页 @Htm ...

  7. PagedList.Mvc只有一行时不显示分页

    PagedList.Mvc默认总是显示分页,可以通过设置DisplayMode在只有一行时不显示分页 @Html.PagedListPager(Model, page => Url.Action ...

  8. Asp.net MVC 使用PagedList(新的已更名 为X.PagedList.Mvc) 分页

    在asp.net mvc 中,可以bootstrap来作为界面,自己来写分页程序.也可以使用PagedList(作者已更名为 X.PagedList.Mvc)来分页. 1.首先,在NuGet程序包管理 ...

  9. MVC分页

    http://www.cnblogs.com/iamlilinfeng/p/4075292.html 目录 一.Contrl与View数据传递(多表数据) 二.分页控件介绍 三.MVC源码说明 四.源 ...

随机推荐

  1. butterknife 使用注意事项

    写了个demo,一直报错 Caused by: java.lang.IllegalStateException: Required view 'tv1' with ID 2131492943 for ...

  2. tcpdump学习

    #直接启动tcpdump将监视第一个网络接口上所有流过的数据包 -n不解析地址到nametcpdump -n #监视指定网络接口的数据包,不指定则为 eth0tcpdump -i eth1 #监视指定 ...

  3. 转-Fragment+FragmentTabHost组件(实现新浪微博底部菜单)

    http://www.cnblogs.com/lichenwei/p/3985121.html 记得之前写过2篇关于底部菜单的实现,由于使用的是过时的TabHost类,虽然一样可以实现我们想要的效果, ...

  4. 使用UltraEdit+BCC5.5搭建C语言学习环境(转)

    今天闲来无聊,想起以前学的C都差不多忘光了,想练练,先搭环境吧,vc bc之类都太大了,我以前在borland下过一个命令行编译工具不错,好像以前看到有人用ultraedit配合命令行工具做过一个开发 ...

  5. js手机短信按钮倒计时

    /*   120秒手机短信按钮倒计时   */    exports.sendmessage = function (name) {        var second = 120; $(name). ...

  6. 防止重复发送 Ajax 请求

    作者:长天之云链接:http://www.zhihu.com/question/19805411/answer/15465427来源:知乎 不推荐用外部变量锁定或修改按钮状态的方式,因为那样比较难: ...

  7. lassen项目启动

    1.将代码从svn下载下来 2.在下载目录打开命令窗口 shift+鼠标右键 3.mvn  clean install mvn  eclipse:clean mvn  eclipse:eclipse

  8. SQL Server2008 TIME类型

    SQL Server2008现在有了一个TIME数据类型,它允许你只存储一个时间值而没有时间.如果想要存储一个特定的时间信息而不涉及具体的日期时,这将非常的有用.TIME数据类型存储使用24小时制,它 ...

  9. C Primer Plus(第五版)4

    第四章 字符串和格式化输入输出 4.2 字符串简介 字符串(character string)就是一个或多个字符的序列.下面是一个字符串的例子: “Zing went the strings of m ...

  10. iOS 播放声音文件

    播放声音可以通过3中方式来完成. 1.AVAudioPlayer 使用简单方便,但只能播放本地音频,不支持流媒体播放. //初始化文件地址 NSBundle *bundle = [NSBundle m ...