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. C#关于ref的用法(多个实参值的传递)

    按照C#默认的按值调用参数的传递机制,不能刻编写出一个方法来实现两个int类型的值交换,因为一个方法只能对应一个返回值,如何实现将两个交换的值传递回去,这里我将用到的是ref修饰符. 使用ref的单值 ...

  2. 【熊猫】POS销售

    select a.itemcode,b.itemname,b.spec,b.unit,b.rprice,sum(a.rqty) rqtyfrom tm_possale_detail a,sys_ite ...

  3. java替换字符串和用indexof查找字符

    java自带替换 String s="hlz_and_hourui哈哈"; String new_S=s.replaceAll("哈", "笑毛&qu ...

  4. js取整数、取余数的方法

    1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.f ...

  5. (ssh整合web导出excel)在ssh框架中使用poi正确导出具有比较高级固定格式的excel 整体过程,查询导出前后台下载

    (一) 接需求  :   需求相关   (贴图 ) 生成三核对文件 1.新增三核对菜单页面中,增加生成三核对文件功能按钮,弹窗可根据变电站.电压等级查询定值单. 2.定值单信息以表格形式展示,根据选择 ...

  6. struts2 <s:iterator> 遍历方法

    1.MapAction.java import java.util.ArrayList;   import java.util.HashMap;   import java.util.List;    ...

  7. function overloading/ declare function

    Declare a function To declare a function without identifying the argument list, you can do it in thi ...

  8. C++程序设计实践指导1.3求任意整数降序数改写要求实现

    改写要求1:动态生成单链表存储 #include <cstdlib> #include <iostream> using namespace std; struct LinkN ...

  9. jq插件又来了,模拟select下拉框,支持上下方向键哦

    好久没来了,更新下插件, 这个原理就是利用的 input[type='hidden']和自定义属性data-value捆绑传值操作的,可是设置默认选项,回调等参数,代码不多,比较简单,吼吼 (func ...

  10. 【ecos学习5】redboot 加载运行hello world

    背景: 从主机 192.168.2.14 IP,下载bin文件hello到ecos. redboot>load -v -h 192.168.2.14 hello Using default pr ...