ASP.NET MVC中进行分页的方式有多种,这里介绍一种简单实用的方法

一:在实现分页之前,先添加“PagedList”和“PagedList.Mvc”两个组件,具体下载直接在NuGet程序包里收索安装就行

二:(1)数据源,实现分页的前提除了必要组件我们还要有数据源,我这里是直接从数据库里获取的数据;

  (2)分页处理,分页逻辑中有分页索引,分页条数两个必要参数,然后通过ToPagedList扩展方法进行分页;

  (3)将分页数据传给View

以下是实现代码

Controller类:

using PagedList;
public class UserInfoController : Controller
{
//数据源
private testEntities db = new testEntities(); // GET: Userinfo
public ActionResult Index(int? page)
{
var userList = from s in db.userInfo select s;
//第几页
int pageNumber = page ?? ; //每页显示多少条
int pageSize = ; //根据ID升序排序
userList = userList.OrderBy(x => x.userId); //通过ToPagedList扩展方法进行分页
IPagedList<userInfo> userPagedList = userList.ToPagedList(pageNumber, pageSize); //将分页处理后的列表传给View
return View(userPagedList); //return View(db.userInfo.ToList());
}
}

页面View

@model PagedList.IPagedList<WebMvcDemo.Models.userInfo>
@using PagedList.Mvc; @{
ViewBag.Title = "Index";
}
<div class="container">
<h2>用户列表</h2> <table class="table">
<tr>
<th>
姓名
</th>
<th>
年龄
</th>
<th>
性别
</th>
<th></th>
</tr> @foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.userName)
</td>
<td>
@Html.DisplayFor(modelItem => item.userAge)
</td>
<td>
@Html.DisplayFor(modelItem => item.userSender)
</td>
<td>
@Html.ActionLink("编辑", "Edit", new { id = item.userId }) |
@Html.ActionLink("详情", "Details", new { id = item.userId }) |
@Html.ActionLink("删除", "Delete", new { id = item.userId })
</td>
</tr>
}
</table> </div>
<div>
    @*分页主要代码*@
每页 @Model.PageSize 条记录,共 @Model.PageCount 页,当前第 @Model.PageNumber 页
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }))
</div>

效果图

C# MVC分页简单介绍的更多相关文章

  1. 转载 mvc:message-converters简单介绍 https://www.cnblogs.com/liaojie970/p/7736098.html

    mvc:message-converters简单介绍 说说@ResponseBody注解,很明显这个注解就是将方法的返回值作为reponse的body部分.我们进一步分析下这个过程涉及到的内容,首先就 ...

  2. MVC模式简单介绍

    模型-视图-控件(model-View-Controller)MVC结构是一种开发模块的方法,它将数据存储和数据处理从数据的可视化表示中分离出来.存储和处理数据的组件称为模型,它包括模块的实际内容.表 ...

  3. ASP.NET,什么是MVC,MVC的简单介绍

    什么是MVC模式 MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Co ...

  4. mvc:message-converters简单介绍

    说说@ResponseBody注解,很明显这个注解就是将方法的返回值作为reponse的body部分.我们进一步分析下这个过程涉及到的内容,首先就是方法返回的类型,可以是字节数组.字符串.对象引用等, ...

  5. Node.js简单介绍并实现一个简单的Web MVC框架

    编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...

  6. ASP.NET MVC 简单介绍①

    ASP.NET  MVC 简单介绍① 只做了重要描述,内容出自菜鸟教程网站内容. 目录 1布局 2HTML 帮助器 3.Razor 语法 4.添加样式 5.Layout 6. Controllers ...

  7. Mvc分页组件MvcSimplePager代码重构

    1 Mvc分页组件MvcSimplePager代码重构 1.1 Intro 1.2 MvcSimplePager 代码优化 1.3 MvcSimplePager 使用 1.4 End Mvc分页组件M ...

  8. Mvc分页组件MvcSimplePager代码重构及使用

    1 Mvc分页组件MvcSimplePager代码重构 1.1 Intro 1.2 MvcSimplePager 代码优化 1.3 MvcSimplePager 使用 1.4 End Mvc分页组件M ...

  9. MVC分页

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

随机推荐

  1. scrapy formRequest 表单提交

    scrapy.FormRequest 主要用于提交表单数据 先来看一下源码 参数: formdata  (dict or iterable of tuples) – is a dictionary ( ...

  2. PHP设计模式概述

    PHP设计模式概述 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. ...

  3. 2019十二省联考 Round 1 && 济南市市中心游记

    在这样一场毒瘤的省选中 这道题目无疑是命题人无私的馈赠 大量精心构造的部分分,涵盖了题目中所有涉及的算法 你可以利用这道题目,对你是否能够进入省队进行初步检查 经典的模型.较低的难度和不大的代码量,能 ...

  4. 好程序员web前端分享javascript关联数组用法总结

    好程序员web前端分享javascript关联数组用法总结,有需要的朋友可以参考下. Hash关联数组定义 代码如下 // 定义空数组 myhash = { } // 直接定义数组 myhash = ...

  5. 吐血总结|史上最全的MySQL学习资料!!

    在日常工作与学习中,无论是开发.运维.还是测试,对于数据库的学习是不可避免的,同时也是日常工作的必备技术之一.在互联网公司,开源产品线比较多,互联网企业所用的数据库占比较重的还是MySQL. 在刚刚出 ...

  6. Spring Boot与分布式

    ---恢复内容开始--- 分布式.Dubbo/Zookeeper.Spring Boot/Cloud 一.分布式应用 在分布式系统中,国内常用zookeeper+dubbo组合, 而Spring Bo ...

  7. linux安装redis操作

    redis官网地址:http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1.下载源码,解压缩后编译源码. $ wget ...

  8. Java使用URL类下载的图片不完整

    问题 今天在使用URL类来下载网站中的图片的时候,出现了一个问题:下载的图片不完整,并且每次下载的图片大小也不是都相同,反正就是不完整. 问题代码如下: package cn.ganlixin.tes ...

  9. (一)jdk8学习心得之遍历

    一.遍历 -- 最好和stream流连用 使用jdk8提供的forEach进行遍历时,采用的是多线程的操作,理论上讲是会比原来的方法更快.但是注意,系统启动时需要加载lambda框架的内容.因此如果通 ...

  10. CodeForces 1151E Number of Components

    题目链接:http://codeforces.com/problemset/problem/1151/E 题目大意: n个人排成一个序列,标号为 1~n,第 i 个人的学习成绩为 ai,现在要选出学习 ...