[Asp.net core]bootstrap分页
摘要
一直在用前后端分离,在一个后台管理的页面中,尝试封装了一个辅助类。
类
/// <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分页的更多相关文章
- ASP.NET MVC+Bootstrap分页Helper
<div class="pagination"> <ul> //************分页HTML********* </ul> </d ...
- 使用Angular 4、Bootstrap 4、TypeScript和ASP.NET Core开发的Apworks框架案例应用:Task List
最近我为我自己的应用开发框架Apworks设计了一套案例应用程序,并以Apache 2.0开源,开源地址是:https://github.com/daxnet/apworks-examples,目的是 ...
- 再谈使用X.PagedList.Mvc 分页(ASP.NET Core 2.1)
在以前的博文中写过使用X.PagedList.Mvc组件来对ASP.NET MVC应用程序进行分页,可以参考此篇随笔:Asp.net MVC 使用PagedList(新的已更名 为X.PagedLis ...
- 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 ...
- 学习ASP.NET Core Razor 编程系列十九——分页
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- asp.net core 排序过滤分页组件:sieve(1)
使用asp.net core开发时避免不了要用一个合适的分页组件来让前端获取分页数据.github上面有一个开源的分页组件在这方面很适合我的使用,于是我把他的文档翻译一下,随后会分析它里面的源码.这是 ...
- ASP.NET Core Web App应用第三方Bootstrap模板
引言 作为后端开发来说,前端表示玩不转,我们一般会选择套用一些开源的Bootstrap 模板主题来进行前端设计.那如何套用呢?今天就简单创建一个ASP.NET Core Web MVC 模板项目为例, ...
- asp.net core下一个简单的分页技术
在做web应用的时候免不了要对数据进行分页,我最近在做asp.net core的开发的时候就遇到了这个需求,现在简单的记录一下: public class PaginatedList<T> ...
- [转]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 ...
随机推荐
- PYTHON-面向对象 继承 派生
1. 什么是继承 继承是一种新建类的方式,新建的类称之为子类/派生类,被继承的类称之为父类/基类/超类 继承有3个特点: 1. 子类可以遗传/重用父类的属性(解决类与类之间代码冗余的问题) 2. 在p ...
- Android ImageView 的scaleType 属性图解
ImageView 是 Android 中最常用的控件之一,而在使用ImageView时,必不可少的会使用到它的scaleType属性.该属性指定了你想让ImageView如何显示图片,包括是否进行缩 ...
- python中的zip、map、reduce 、lambda函数的使用。
lambda只是一个表达式,函数体比def简单很多. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去. lambda表达式是起到一个函数速写的作用.允 ...
- 学习笔记(一)--->《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.违者本人不负法律责任.违法者自负一切法律责任. ...
- 《MATLAB Deep Learning:With Machine Learning,Neural Networks and Artificial Intelligence》选记
一.Training of a Single-Layer Neural Network 1 Delta Rule Consider a single-layer neural network, as ...
- hdu5646数学构造+二分
/* 满足n>=(k+1)*k/2的整数n必定满足 a+(a+1)+...+(a+k-1)<=n<=(a+1)+(a+2)+...+(a+k) 只要在[a,a+k]中减掉一个数字ai ...
- cf1061D 贪心+multiset 好题!
cf上的思维题真好! 本题是在模拟的基础上贪心即可:将n段时间按照左端点(右端点为第二关键字)从小到大排序,然后遍历每一个时间段. 对于每一个时间段[li,ri],先找到multiset中最靠近li但 ...
- python3笔记(二)Python语言基础
缩进 要求严格的代码缩进是python语法的一大特色,就像C语言家族(C.C++.Java等等)中的花括号一样重要,在大多数场合还非常有必要.在很多代码规范里面也都有要求代码书写按照一定的规则进行换行 ...
- 2017-2018-2 20155309 南皓芯 Exp3 免杀原理与实践
报告内容 2.1.基础问题回答 (1)杀软是如何检测出恶意代码的 ? 1:基于特征码 一段特征码就是一段或多段数据.(如果一个可执行文件(或其他运行的库.脚本等)包含这样的数据则被认为是恶意代码) 杀 ...
- textarea 标签换行及靠左
上图可以实现文字文字靠左,换行直接回车就行,效果见下图