1、分页实体类

    public class PageDto
{
public int PageIndex { get; set; }
public int PageSize { get; set; }
public int PageCount { get; set; }
public int TotalCount { get; set; }
}

后端代码

        public async Task<IActionResult> Index()
{
var page = HttpContext.Request.Query["page"].ToString();
var pageSize = HttpContext.Request.Query["pageSize"].ToString(); var searchDto = new FileSearchDto()
{
PageIndex = string.IsNullOrWhiteSpace(page) ? 1 : Convert.ToInt32(page),
PageSize = string.IsNullOrWhiteSpace(pageSize) ? 5 : Convert.ToInt32(pageSize)
}; var results = await _service.GetPageList(searchDto);
var model = new FileListViewModel() { Results = results };
return View(model);
}

  

2、视图

@using System.Text;
@model BaseService.PageDto @if (Model.TotalCount > Model.PageSize)
{
var controller = Url.ActionContext.RouteData.Values["controller"];
var action = Url.ActionContext.RouteData.Values["action"];
var url = "/" + controller + "/" + action;
var querys = Url.ActionContext.HttpContext.Request.Query;
StringBuilder sb = new StringBuilder();
sb.AppendFormat("/{0}/{1}?", controller, action);
if (querys != null && querys.Count > 0)
{
foreach (var item in querys)
{
if (!item.Key.Equals("page"))
{
sb.AppendFormat("{0}={1}", item.Key, item.Value);
sb.Append("&");
}
}
}
sb.Append("page"); url = sb.ToString(); <div style="position:fixed;bottom:-15px;text-align:center;width:84%">
<ul class="pagination">
<h5 class="pull-left">显示第 @((Model.PageIndex - 1) * Model.PageSize + 1) - @(Model.PageIndex * Model.PageSize > Model.TotalCount ? Model.TotalCount : Model.PageIndex * Model.PageSize) 条记录,共 @Model.TotalCount 条记录</h5>
@if (Model.PageIndex > 1)
{
<li><a href="@url=1" title="首页"><i class="fa fa-chevron-left"></i></a></li>
}
else
{
<li class="disabled"><a href="javascript:;" title="首页"><i class="fa fa-chevron-left"></i></a></li> }
@{
int pagesizeshow = 6;//每次显示分页按钮数量
int pagemin = Model.PageIndex - (int)(pagesizeshow / 2);
int pagemax = Model.PageIndex + (int)(pagesizeshow / 2);
if (Model.PageIndex + (int)(pagesizeshow / 2) >= Model.PageCount)
{
pagemin = Model.PageCount - (int)(pagesizeshow / 2);
pagemax = Model.PageCount;
}
if (Model.PageIndex <= (int)(pagesizeshow / 2))
{
pagemin = 1;
pagemax = pagesizeshow;
}
if (pagemin <= 0) { pagemin = 1; }
if (pagemax >= Model.PageCount) { pagemax = Model.PageCount; }
if (pagemin + pagesizeshow >= Model.PageCount) { pagemin = (Model.PageCount - pagesizeshow) >= 1 ? (Model.PageCount - pagesizeshow) : pagemin; } if (pagemin == pagemax)
{
<li><a href="@url=@pagemin">@pagemin</a></li>
}
else
{
for (int i = pagemin; i <= pagemax; i++)
{
<li @if (Model.PageIndex == i) { <text> class="active" </text> }><a href="@url=@i">@i</a></li>
}
}
} @if (Model.PageIndex < Model.PageCount)
{
<li><a href="@url=@Model.PageCount" title="尾页"><i class="fa fa-chevron-right"></i></a></li>
}
else
{
<li class="disabled"><a href="javascript:;" title="尾页"><i class="fa fa-chevron-right"></i></a></li>
}
</ul>
</div>
}

3、调用

@Html.Partial("~/Views/Pager/Create.cshtml", Model.Results.Page)

.net mvc 分页的更多相关文章

  1. MVC分页

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

  2. ASP.NET MVC分页组件MvcPager 2.0版发布暨网站全新改版

    MvcPager分页控件是在ASP.NET MVC Web应用程序中实现分页功能的一系列扩展方法,该分页控件的最初的实现方法借鉴了网上流行的部分源代码, 尤其是ScottGu的PagedList< ...

  3. ASP.NET MVC 4使用PagedList.Mvc分页

    ASP.NET MVC中进行分页的方式有多种,在NuGet上有提供使用PagedList.PagedList.Mvc进行分页. 1. 通过NuGet引用PagedList.Mvc 在安装引用Paged ...

  4. ASP.NET MVC分页实现之改进版-增加同一个视图可设置多个分页

    我之前就已经实现了ASP.NET MVC分页(查看该博文),但它有局限性,必须确保在同一个视图中只能有一处分页,若需要在同一个视图中设置多个分页,却无能为力,为此,我重新对原先的代码进行了优化,增加了 ...

  5. Mvc 分页栏扩展方法

    using System; using System.Collections.Generic; using System.Reflection; using System.Text; using Sy ...

  6. 转:MVC分页

    原文地址:http://www.cnblogs.com/iamlilinfeng/p/4075292.html 分页总是搞得我很烦,也是因为刚接触,貌似有好多插件,之前在用一个,可是后来发现一翻页原来 ...

  7. spring mvc 分页

    spring mvc 分页

  8. 基于Bootstrap的Asp.net Mvc 分页

    基于Bootstrap的Asp.net Mvc 分页的实现 最近写了一个mvc 的 分页,样式是基于 bootstrap 的 ,提供查询条件,不过可以自己写样式根据个人的喜好,以此分享一下.首先新建一 ...

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

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

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

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

随机推荐

  1. SpringCloud服务负载均衡实现原理02

  2. php加密

    域名授权函数 function allow_doamin(){    $is_allow=false;    $url=trim($_SERVER['SERVER_NAME']);    $arr_a ...

  3. python与sqlserver接口包pymssql

    包下载地址(对应着自己的电脑和Python的版本下载即可,我电脑是win32,Python是3.6的) https://pypi.python.org/pypi/pymssql/ 下载后我放到了d盘中 ...

  4. Map、Set、List集合差别及联系详解

    提到集合之前,先说说数组Array和集合的区别:   (1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)   (2)JAVA集合可以存储和操作数目不固定的一组数据. ( ...

  5. asp.net button控件 使用JS的 disabled

     今天想用JS禁用asp.net的button控件,查了好久,都是一行代码....      document.getElementById("Button1").disabled ...

  6. 3.6 html报告乱码问题优化

    3.6 html报告乱码问题优化 前言python2用HTMLTestRunner生成测试报告时,有中文输出情况会出现乱码,这个主要是编码格式不统一,改下编码格式就行.下载地址:http://tung ...

  7. Python全栈之路----函数----内置方法

    Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod ...

  8. Mat的详解

    [转]OpenCV中Mat的详解 每次碰到Mat都得反复查具体的用法,网上的基础讲解不多,难得看到一篇,赶快转来收藏~ 原文地址:http://www.opencvchina.com/thread-1 ...

  9. 关于java类加载的那些事

    首先,类加载的定义: 类加载(Class Loading)是一种机制,他描述的是将字节码以文件形式加载到内存再经过连接.初始化后,最终形成可以被虚拟机直接使用的Java类型地过程. 其次,类加载器的分 ...

  10. 关于函数式编程(Functional Programming)

    初学函数式编程,相信很多程序员兄弟们对于这个名字熟悉又陌生.函数,对于程序员来说并不陌生,编程对于程序员来说也并不陌生,但是函数式编程语言(Functional Programming languag ...