ASP.NET MVC中进行分页的方式有多种,在NuGet上有提供使用PagedList、PagedList.Mvc进行分页。

  1. 通过NuGet引用PagedList.Mvc

  在安装引用PagedList.Mvc的同时会安装引用PagedList。

  1.看一下Controller页面的代码,最后就简单的一句,将List数据ToPagedList返回过去就可以了。原来爱怎么分页可以怎么分页。

//引用
using PagedList;
namespace MvcApplication1.Controllers
{
public class SplitPageController : Controller
{
//
// GET: /SplitPage/ public ActionResult Index(int page = )
{
//取数据
List<Package.Model.Message> lists = new List<Package.Model.Message>();
MessageDal message = new MessageDal();
DataSet ds = message.GetList(" 1=1 "); //转成List
for (int i = ; i < ds.Tables[].Rows.Count; i++)
{
lists.Add(new Package.Model.Message()
{
gName = ds.Tables[].Rows[i]["gName"].ToString(),
gContent = ds.Tables[].Rows[i]["gContent"].ToString()
});
} //将数据分页后返回页面(这里可以在取数据的时候先分页后,再使用ToPagedList实现分页
return View( lists.ToPagedList(page, ));
} }
}

  返回后在HTML页面的显示

@model PagedList.IPagedList<Package.Model.Message>
@using PagedList.Mvc; @{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<table>
<tr>
<th>
gname
</th>
<th>
gContent
</th>
<th> </th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.gName)
</td>
<td>
@Html.DisplayFor(modelItem => item.gContent)
</td>
<td></td>
</tr>
}
</table>
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }))
</body>
</html>

  使用ViewBag返回分页数据,由于MODEL只有一个,如果按官网给的例子,那么一个页面只能有一个分页了,但是VIEWBAG点出来的却可以多个。

看一下显示,不多说了,直接上代码

  CONTROLLER页面

using PagedList;

namespace MvcApplication2.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index(int page = )
{
//取数据
List<Package.Model.Message> lists = new List<Package.Model.Message>();
MessageDal message = new MessageDal();
DataSet ds = message.GetList(" 1=1 "); //转成List
for (int i = ; i < ds.Tables[].Rows.Count; i++)
{
lists.Add(new Package.Model.Message()
{
gName = ds.Tables[].Rows[i]["gName"].ToString(),
gContent = ds.Tables[].Rows[i]["gContent"].ToString()
});
} //将数据分页后返回页面(这里可以在取数据的时候先分页后,再使用ToPagedList实现分页
ViewBag.MyPageList = lists.ToPagedList(page, );
return View( );
} }
}

  VIEW视图

@using PagedList.Mvc;

@{
PagedList.IPagedList<Package.Model.Message> myPageList = (PagedList.IPagedList<Package.Model.Message>)ViewBag.MyPageList;
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>
<table>
<tr>
<th>
gname
</th>
<th>
gContent
</th>
<th> </th>
</tr>
@foreach (var item in myPageList)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.gName)
</td>
<td>
@Html.DisplayFor(modelItem => item.gContent)
</td>
<td></td>
</tr>
}
</table>
每页 @myPageList.PageSize 条记录,共 @myPageList.PageCount 页,当前第 @myPageList.PageNumber 页
@Html.PagedListPager(myPageList, page => Url.Action("Index", new { page }))
</body>
</html>

  参考这个原文:http://www.cnblogs.com/libingql/p/3486554.html

ASP.NET MVC- 使用PageList.Mvc分页的更多相关文章

  1. MVC 使用PageList进行分页

    1.新建MVC项目 2.在Web项目下添加PagedList nuget 命令 :install-package pagedlist.mvc 在安装完成之后,会在Content下添加PagedList ...

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

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

  3. Configuring Autofac to work with the ASP.NET Identity Framework in MVC 5

    https://developingsoftware.com/configuring-autofac-to-work-with-the-aspnet-identity-framework-in-mvc ...

  4. ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现

    from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...

  5. ASP.NET 学习小记 -- “迷你”MVC实现(2)

    Controller的激活 ASP.NET MVC的URL路由系统通过注册的路由表对HTTO请求进行解析从而得到一个用户封装路由数据的RouteData对象,而这个过程是通过自定义的UrlRoutin ...

  6. 【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照(颠覆性理论)

           在[.NET特供-第三季]系列博客中的第一篇<ASP.NET MVC系列:MVC与三层图形对照>发表之后,引起了领导的注意.同一时候,开发小组内部在交流MVC和三层之间关系的 ...

  7. 【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照

    近期在开发小组在研究:BS项目中是利用'MVC框架'还是继续沿用'三层'的问题. 由于曾经的.NET项目大多数都是利用三层开发的,所以大多数人都可以对三层进行熟练地运用.而项目的開始我们也曾听说过MV ...

  8. ASP.NET Core 2.0 MVC项目实战

    一.前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的.之前实习时主要是做.NET的B/S架构的项目,主要还是 ...

  9. ASP.Net Core 2.2 MVC入门到基本使用系列 (二)

    本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...

  10. ASP.Net Core 2.2 MVC入门到基本使用系列 (一)

    本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...

随机推荐

  1. ASP.NET MVC 学习1、新增Controller,了解MVC运行机制

    1,turorial ,根据链接教程新建一个MVC项目 http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/ ...

  2. pl/sql developer 连接本地ORACLE 11g 64位数据库

    1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...

  3. IE下JS接受ActiveX控件方法

    1.常规写法 <SCRIPT type="text/javascript" FOR="activexID" EVENT="onXXXevent( ...

  4. JS调试必备的5个debug技巧

    我一直使用printf调试程序,一般来说都是比较顺利,但有时候,你会发现需要更好的方法.下面几个JavaScript技巧相信你一定会觉得十分有用   1. debugger; 我以前也说过,你可以在J ...

  5. __VA_ARGS__与逗号操作符的巧妙结合

    class Test { public: template<class T> Test& operator,(T t) { //具体操作 return *this; } } Tes ...

  6. [转] c#中 多线程访问winform控件

    原文 c#中多线程访问winform控件的若干问题小结 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来解决这个问题,下面我将详细的 ...

  7. Android aidl 打入jar解决方法

    工程上右键 选择export 然后取消选择这个工程里的所有的文件 点开到gen文件夹下选择aidl生成的 java文件 选择生成的java文件和src目录导出jar包即可

  8. XtraGrid的若干种用法 z

    支持多种类型的数据集合作为数据源 XtraGrid与传统的DataGridView一样,支持多种类型作为其数据源.下面例子是将DataTable, List<T>和数组分别绑定到XtraG ...

  9. Windows 窗体最小化和隐藏的区别及恢复

    应用程序有托盘图标,窗体最小化或者隐藏窗体时,点击托盘图标需要恢复窗体显示,并且恢复之前的现实状体,正常大小或者最大化显示.例如:最大化显示窗体时,点击最小化按钮,窗体最小化,点击托盘图标将最大化显示 ...

  10. KVO KVC

    @interface FoodData : NSObject { NSString * foodName; float foodPrice; } @end ////////////////////// ...