1.新建MVC项目

2.在Web项目下添加PagedList

nuget 命令 :install-package pagedlist.mvc

在安装完成之后,会在Content下添加PagedList.css文件,这个是在分页中会用到的样式

3.有些人用的数据来源是其他地方来的,就用Ilist 的类型进行分页吧

顺便做一下json文件的转换

安装newtonsoft.json

Nuget 命令 :install-package newtonsoft.json

4.在Models中添加model类型定义 TestModel ,用来转换的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace MvcApplication2.Models
{
public class TestModel
{
public string Name { get; set; } public int? Age { get; set; } public string Remark { get; set; }
}
}

5.创建Controller 进行管理,代码中使用局部页添加到index页中,分页之后还是跳转到局部页中,就是随笔一记,不做多的处理

index ACtion中产生数据,并将其计入到静态变量中国

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication2.Models;
using Newtonsoft.Json;
using PagedList; namespace MvcApplication2.Controllers
{
public class PartTestController : Controller
{
//
// GET: /PartTest/
static IList<TestModel> models = new List<TestModel>(); public ActionResult Index()
{
Random rd = new Random();
models.Add(new TestModel() { Name = "test1", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
models.Add(new TestModel() { Name = "test" + rd.Next(, ) + "", Age = rd.Next(, ), Remark = "Remark" });
return View();
} public PartialViewResult PagedListFun(string searchStr, string orderType, int? page)
{
if (!string.IsNullOrWhiteSpace(searchStr))
{
page = ;
} string str = JsonConvert.SerializeObject(models); string jsonstr = str; IList<TestModel> list = JsonConvert.DeserializeObject<IList<TestModel>>(jsonstr); var res = from q in list
where q.Name.Contains(searchStr ?? "")
select q; //if (orderType.ToLower() == "desc")
//{
res = res.OrderByDescending(o => o.Name);
//} int pageSize = ;
int pageNumber = (page ?? ); return PartialView("PagedListFun", res.ToPagedList(pageNumber, pageSize));
} }
}

6. 在index中加载页面

@{
Layout = null;
ViewBag.Title = "Index";
} <script src="~/Scripts/jquery-1.8.2.js"></script> <h2>Index</h2> <div id="partTime"></div> <script type="text/javascript"> $(function () {
$.ajax({
url: "@Url.Action("PagedListFun")",
type: "get",
data: {name:'mxh'},
success: function (data) {
$("#partTime").html(data);
},
error:function(error) {
$("#partTime").html(error.text);
}
}); }); </script>

7.在局部也中进行分页处理

@model PagedList.IPagedList<MvcApplication2.Models.TestModel>
@using PagedList.Mvc <link href="~/Content/PagedList.css" rel="stylesheet" />@*一定要加入这个,不然没有样式*@
@{
Layout = null;
ViewBag.Title = "PagedListFun";
} <ul>
@foreach (var item in Model)
{
<li>@item.Name @item.Age @item.Remark</li>
}
</ul> Page @(Model.PageCount < Model.PageNumber ? : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("PagedListFun", new { page }))

MVC 使用PageList进行分页的更多相关文章

  1. 【.NET MVC分页】.NET MVC 使用pagelist 分页

    1.安装 2. 在NuGet程序包管理控制台 ,输入Install-Package PagedList.mvc 安装PagedList 和PageList.Mvc; 3. @{ Layout = nu ...

  2. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

    系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...

  3. MVC 使用Jquery EasyUI分页成功

    先上图吧

  4. MVC中的自定义控件——分页

    上一篇是个简单例子,这篇借分页写个升级版的例子. 不想拼html代码,因为不好修改,那写一个PartialView. @model System.Web.Mvc.PagerModel @if (Mod ...

  5. MVC如何使用开源分页插件shenniu.pager.js

    最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...

  6. MVC默认路由实现分页-PagerExtend.dll

    这两天在群里有人咨询有没有现成的.net mvc分页方法,由此写了一个简单分页工具,这里简单分享下实现思路,代码,希望能对大家有些帮助,鼓励大家多造些轮子还是好的. A.效果(这里用了bootstra ...

  7. MVC使用x.PagedList分页

    MVC分页 1.Install Package Tools=> NuGet Package Manager=>Manager NuGet Packages of Solution

  8. MVC 下 使用MvcPager分页控件

    先去下载 mvcpage http://mvcpager.codeplex.com/releases/view/64098只需要一个 MvcPager.dll文件即可 然后引用MvcPager.dll ...

  9. asp.net mvc 的几种分页Pager

    第一种 /// <summary> /// 分页Pager显示 /// </summary> /// <param name="html">&l ...

随机推荐

  1. VLC-Android和VLC几个关键宏定义的分析

    在用SourceInsight分析VLC-Android源码过程中,有几个宏定义在源代码中一直没有找到出处,比如 HAVE_DYNAMIC_PLUGINS和__PLUGIN__,以及MODULE_NA ...

  2. asp.net中Repeart选中整行操作

    <asp:Repeater runat="server" ID="rpt_Student"> <HeaderTemplate> < ...

  3. winform —— 界面

    winform 界面简单介绍 窗体事件:理解为委托变量,指向哪个函数,就执行哪个函数.窗体:显示窗体的过程是一个通过模板造对象的过程.先走构造函数,构造函数中的InitializeComponent( ...

  4. 如何在Google Map中处理大量标记(ASP.NET)(转)

    如何在Google Map中处理大量标记(ASP.NET)(原创-翻译) Posted on 2010-07-29 22:04 Happy Coding 阅读(8827) 评论(8) 编辑 收藏 在你 ...

  5. GridView事件DataBinding,DataBound,RowCreated,RowDataBound区别及执行顺序分析

    严格的说,DataBinding,DataBound并不是GridView特有的事件,其他的控件诸如ListBox等也有DataBinding,DataBound事件. DataBinding事件MS ...

  6. Bluestacks视窗界面调整及内存调整经验

    本文将分享bluestacks视窗界面调整及内存调整的经验,可以有效解决Bluestacks缓慢.卡的问题! 一.bluestacks视窗界面调整 1.进入注册表: 2.找到下图中的键值: 3.修改键 ...

  7. Java集合框架:Set、List、Map等介绍

    目录 1.Java集合类基本概念 2.Java集合类架构层次关系 1.Java集合类基本概念 在编程中,常常需要集中存放多个数据.从传统意义上来讲,数组是我们一个很好的选择,前提是我们事先已经明确知道 ...

  8. 【Android】设备标识简介(imei imsi mac地址)

    IMEI: 1- 意义: 参考http://zh.wikipedia.org/zh-cn/IMEI  国际移动设备辨识码 ,共15位,和厂商,产地等有关. 2- 获取: 直接查看设备信息,设置-关于手 ...

  9. 如何在Eclipse中查看Android API源码以及support包源码

    http://my.eoe.cn/futurexiong/archive/181.html 开发第三方Android应用的,大多数人应该还是Eclipse结合ADT来开发.那么大多数时候我们可能希望点 ...

  10. JDBC之一:JDBC快速入门

    (1)下载Oracle的JDBC驱动,一般放在$ORACLE_HOME/jdbc/lib目录,关于驱动的版本请见: http://elf8848.iteye.com/blog/811037 随Orac ...