ASP.NET MVC- 使用PageList.Mvc分页

  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 = 1)
        {
            //取数据
            List<Package.Model.Message> lists = new List<Package.Model.Message>();
            MessageDal message = new MessageDal();
            DataSet ds = message.GetList(" 1=1 ");

            //转成List
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                lists.Add(new Package.Model.Message()
                {
                    gName = ds.Tables[0].Rows[i]["gName"].ToString(),
                    gContent = ds.Tables[0].Rows[i]["gContent"].ToString()
                });
            }

            //将数据分页后返回页面(这里可以在取数据的时候先分页后,再使用ToPagedList实现分页
            return View( lists.ToPagedList(page, 2));
        }

    }
}

  返回后在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>

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

时间: 2024-10-24 17:08:18

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

Asp.NET MVC X.PageList.MVC 分页详解以及自定义样式

最近在研究MVC,自己做了个小项目:其中用到了分页功能,在网上找了很多相关的第三方插件,最后选择了X.PageList.MVC,插件是开源的,有利于学习所以选择了它,这并不是说其它的分页插件不好,只是个人爱好,当然,用于以后还是会说好的.^^ 首先可以看下源,在GitHub上,地址如下: X.PageList.MVC GitHub 源代码地址 初步看了一个项目比较精简,核心部分为X.PagedList.Mvc中的内容,配置文件为:PagedListRenderOptions.cs 这个插件可以完

MVC 使用PageList进行分页

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类

在 asp.net mvc中的简单分页算法

//第一步:建立如下分页实体类:namespace MVCPager.Helpers { /// <summary> /// 简单分页算法类 /// </summary> public class Pager { public int RecordCount { get; set; } public int PageIndex { get; set; } public int PageSize { get; set; } public int PageCount { get { r

【ASP.Net MVC】AspNet Mvc一些总结

AspNet Mvc一些总结 RestaurantReview.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text.RegularExpressions; using System.Web; using System.Web.M

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-5 Configuring Autofac to work with the ASP.NET Identity Framework in MVC 5 By Tony Mackay  02 February 2015 This post will show you how to modify the

ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题

转载  http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET_Web_Form_MVC.html 什么是刷新/重新载入 IE中的刷新(Refresh),在FF和Chrome中称为重新载入(Reload),与正常进入页面的区别在于以下两点: 1. 缓存控制 如果文件(比如图片)在本地缓存中已经存在,正常进入页面会不访问服务器而直接从本地加载.而对于刷新操作,

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

Controller的激活 ASP.NET MVC的URL路由系统通过注册的路由表对HTTO请求进行解析从而得到一个用户封装路由数据的RouteData对象,而这个过程是通过自定义的UrlRoutingModule对HttpApplication的PostResolveRequestCache事件进行注册实现的.RouteData中已经包含了目标Controller的名称,现在我们需要根据该名称激活对应的Controller对象. MvcRouteHandler 对于这个"迷你版"的M

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://github.com/NSwag/NSwag This article shows how to document your ASP.NET Core 1.0 MVC API using Swagger with Swashbuckle. Per default, it does not us

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

近期在开发小组在研究:BS项目中是利用'MVC框架'还是继续沿用'三层'的问题. 由于曾经的.NET项目大多数都是利用三层开发的,所以大多数人都可以对三层进行熟练地运用.而项目的開始我们也曾听说过MVC的概念,可是由于没有项目经验的原因,所以总是停留在理论层次的比較. 在后期的DRP项目中,了解到Model1和Model2模型,而Model2模型就是MVC的应用.DRP中我们採用jsp做View层用于显示:Servlet做Controller用于取得表单參数.调用业务逻辑.转向页面: 相同都是M

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

       在[.NET特供-第三季]系列博客中的第一篇<ASP.NET MVC系列:MVC与三层图形对比>发表之后,引起了领导的注意.同时,开发小组内部在交流MVC和三层之间关系的时候,也感到非常的混沌.        在这里对上一篇文中所阐述的错误概念,向读者表示诚挚的歉意.同时,非常感谢米老师辛勤指导.关于'MVC与三层图形对比'将在本文中做出修正.     学习是一个过程,对于概念的理解并不是一蹴而就的,而是盲人摸象的理论,逐渐清晰.     首先,给大家看一张图. 接下来的内容,将