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. SqlServer——阻止保存要求重新创建表的更改

    场景: 修改已有数据的列宽时,提示“阻止保存要求重新创建表的更改”. 解决: 工具-〉选项-〉左侧有个 设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧) 把钩去掉即可 ...

  2. 黄聪:VS2010开发T4模版引擎之基础入门

    原文:http://www.cnblogs.com/lzrabbit/archive/2012/07/15/2591085.html 额,T4好陌生的名字,和NuGet一样很悲催,不为世人所熟知,却又 ...

  3. PL/SQL查询Oracle数据乱码/Oracle客户端乱码解决办法

    [如果此方法都试了就是不行,那么就重复尝试,先把环境变量给删了,注册表里的键值也删除了,然后重启,再配置,肯定行!我试过!] 先确定Oracle服务器采用的是何种编码: select userenv( ...

  4. 使用BlockingQueue的生产者消费者模式

    BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利.使用场景. 首先它是一个队列,而一个队 ...

  5. Spark on Yarn年度知识整理

    大数据体系结构: Spark简介 Spark是整个BDAS的核心组件,是一个大数据分布式编程框架,不仅实现了MapReduce的算子map 函数和reduce函数及计算模型,还提供更为丰富的算子,如f ...

  6. HBASE解析

    Hbase是运行在Hadoop上的NoSQL数据库,它是一个分布式的和可扩展的大数据仓库,也就是说HBase能够利用HDFS的分布式处理模式,并从Hadoop的MapReduce程序模型中获益.这意味 ...

  7. vim 学习日志(2):set的使用方法

    一,打开或关闭行号(number) 如果希望每次进入vi 会话时都显示行号,那么在主目录中的.exrc 文件中添加 set number 行. 在命令模式下,使用如下命令 :set all      ...

  8. 1小时vpn coding让开发更简单 或https://www.imfreevpn.org/

  9. js封装 与 js高级用法 问题集合

    1. 什么是自执行的匿名函数? 它是指形如这样的函数: (function {// code})(); 2. 疑问 为什么(function {// code})();可以被执行, 而function ...

  10. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...