摘要

一直在用前后端分离,在一个后台管理的页面中,尝试封装了一个辅助类。

   /// <summary>
/// 分页viewmodel
/// </summary>
/// <typeparam name="T"></typeparam>
public class PagedVM<T> where T : class, new()
{ private MysqlContext _mysqlContext;
/// <summary>
/// 构造函数注入数据库上下文
/// </summary>
/// <param name="mysqlContext"></param>
public PagedVM(MysqlContext mysqlContext)
{
_mysqlContext = mysqlContext;
}
public Expression<Func<T, bool>> Where { get; set; } /// <summary>
/// 分页条开始索引
/// </summary>
public int Start
{
get
{
return PageIndex - > ? PageIndex - : ;
}
}
/// <summary>
/// 分页条结束索引
/// </summary>
public int End
{
get
{
return PageIndex + > PageCount ? PageCount + : PageIndex + ;
}
}
public int PageIndex { set; get; } = ;
public int PageSize { set; get; } = ;
public bool HavePrevious { get { return PageIndex > ; } } public bool HaveNext
{
get
{
return PageIndex < PageCount;
}
}
public int PageCount
{
get
{
return (int)Math.Ceiling(TotalCount * 1.0 / PageSize);
}
}
public int TotalCount
{
get
{
return _mysqlContext.Set<T>().Count();
}
}
public List<T> Items
{
get
{
if (Where != null)
{
return _mysqlContext.Set<T>().Where(Where).ToList().Skip((PageIndex - ) * PageSize).Take(PageSize).ToList();
}
return _mysqlContext.Set<T>().ToList().Skip((PageIndex - ) * PageSize).Take(PageSize).ToList();
} } }

分布试图分页条

<ul class="pagination pagination-lg  navbar-right " style="">
@if (Model.HavePrevious)
{
<li class="previous"><a href="@Url.Content("~/home/index/")@(Model.PageIndex - 1)"> 上一页</a></li>
} @for (int i = Model.Start; i < Model.End; i++)
{
if (i == Model.PageIndex)
{
<li class="active"><a href="@Url.Content("~/home/index/")@i">@i</a></li>
}
else
{
<li><a href="@Url.Content("~/home/index/")@i">@i</a></li>
} }
@if (Model.HaveNext)
{
<li class="next"><a href="@Url.Content("~/home/index/")@(Model.PageIndex+1)">下一页</a></li>
}
</ul>

测试

[Asp.net core]bootstrap分页的更多相关文章

  1. ASP.NET MVC+Bootstrap分页Helper

    <div class="pagination"> <ul> //************分页HTML********* </ul> </d ...

  2. 使用Angular 4、Bootstrap 4、TypeScript和ASP.NET Core开发的Apworks框架案例应用:Task List

    最近我为我自己的应用开发框架Apworks设计了一套案例应用程序,并以Apache 2.0开源,开源地址是:https://github.com/daxnet/apworks-examples,目的是 ...

  3. 再谈使用X.PagedList.Mvc 分页(ASP.NET Core 2.1)

    在以前的博文中写过使用X.PagedList.Mvc组件来对ASP.NET MVC应用程序进行分页,可以参考此篇随笔:Asp.net MVC 使用PagedList(新的已更名 为X.PagedLis ...

  4. Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio » 排序、筛选、分页以及分组

    Sorting, filtering, paging, and grouping 7 of 8 people found this helpful By Tom Dykstra The Contoso ...

  5. 学习ASP.NET Core Razor 编程系列十九——分页

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  6. asp.net core 排序过滤分页组件:sieve(1)

    使用asp.net core开发时避免不了要用一个合适的分页组件来让前端获取分页数据.github上面有一个开源的分页组件在这方面很适合我的使用,于是我把他的文档翻译一下,随后会分析它里面的源码.这是 ...

  7. ASP.NET Core Web App应用第三方Bootstrap模板

    引言 作为后端开发来说,前端表示玩不转,我们一般会选择套用一些开源的Bootstrap 模板主题来进行前端设计.那如何套用呢?今天就简单创建一个ASP.NET Core Web MVC 模板项目为例, ...

  8. asp.net core下一个简单的分页技术

    在做web应用的时候免不了要对数据进行分页,我最近在做asp.net core的开发的时候就遇到了这个需求,现在简单的记录一下: public class PaginatedList<T> ...

  9. [转]Build beautiful, responsive sites with Bootstrap and ASP.NET Core

    本文转自:https://docs.microsoft.com/en-us/aspnet/core/client-side/bootstrap?view=aspnetcore-2.1 Bootstra ...

随机推荐

  1. Appium+Java(一) Windows环境搭建篇

    准备: Android版本 :4.2.2 nodejs版本:5.6.0 appium版本:v1.4.16 1. 安卓SDK及配置环境变量 1.1.先下载sdk安装包:installer_r24.4.1 ...

  2. 深入理解【缺页中断】及FIFO、LRU、OPT这三种置换算法

    缺页中断(英语:Page fault,又名硬错误.硬中断.分页错误.寻页缺失.缺页中断.页故障等)指的是当软件试图访问已映射在虚拟地址空间中,但是目前并未被加载在物理内存中的一个分页时,由中央处理器的 ...

  3. STM32应用实例十:简析STM32 I2C通讯死锁问题

    I2C接口是一种使用非常普遍的MCU与外部设备的接口方式,在STM32中也集成了I2C接口,我们也常常使用它来与外围的传感器等设备通讯. 最近在我们使用STM32F1VET6读取压力和温湿度传感器数据 ...

  4. linux 终端上网设置

    原网址: https://www.aliyun.com/jiaocheng/215068.html 摘要:第一步,需要安装一个名为w3m的软件工具,打开终端,输入如下命令sudoapt-getinst ...

  5. php-fpm 配置文件检测

    用过 Nginx 的兄弟都知道,修改 Nginx 配置文件之后,可以使用 nginx -t 来检测配置文件是否有语法错误. 今天配置 opcache 的时候,发现 php-fpm 也可以检测 php- ...

  6. hdu1506单调栈的宽度

    很好的题目,单调栈上的宽度如何求 题解:https://blog.csdn.net/baidu_35643793/article/details/64440095 单调队列和单调栈都是去除没有用的数据 ...

  7. 01_kettle源码部署

    一 kettle源码部署概述 1.从git上选择合适的版本,并down下来: 2.创建一个java项目,建立core,dbdialog,engine,ui,plugins文件夹,和一个lib文件夹: ...

  8. 基于bootstrap的基本模板

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  9. ERP产品采购申请管理(三十八)

    BLL层代码: public class BioPurchaseBLL { /// <summary> /// 购进申请添加 /// </summary> /// <pa ...

  10. poj 1789 每个字符串不同的字母数代表两个结点间的权值 (MST)

    题目大意是就是给出n个长度为7的字符串,每个字符串代表一个车,定义车的距离是两个字符串间不同字母的个数,题目要求的数不同的车的距离的最小值,即所求的就是最小生成树 Sample Input 4aaaa ...