[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 ...
随机推荐
- sklearn学习笔记
用Bagging优化模型的过程:1.对于要使用的弱模型(比如线性分类器.岭回归),通过交叉验证的方式找到弱模型本身的最好超参数:2.然后用这个带着最好超参数的弱模型去构建强模型:3.对强模型也是通过交 ...
- vue-router两种模式,到底什么情况下用hash,什么情况下用history模式呢?
转:https://segmentfault.com/q/1010000010340823/a-1020000010598395 为什么要有 hash 和 history 对于 Vue 这类渐进式前端 ...
- java多线程快速入门(六)
多线程应用实例(批量发送短信) 1.创建实体类 package com.cppdy; public class UserEntity { private int id; private String ...
- js数组合并为一个字符串
var arr=new Array("hello","word","java","eclipse","jsp& ...
- 易错之for循环
for i in range(3): print(i) print(i,"---") #Python的问题就在于,当循环结束以后,循环体中的临时变量i不会销毁,而是继续存在于执行环 ...
- 认识js运动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python 全栈开发,Day33(tcp协议和udp协议,互联网协议与osi模型,socket概念,套接字(socket)初使用)
先来回顾一下昨天的内容 网络编程开发架构 B/S C/S架构网卡 mac地址网段 ip地址 : 表示了一台电脑在网络中的位置 子网掩码 : ip和子网掩码按位与得到网段 网关ip : 内置在路由器中的 ...
- 一份针对nginx的内核优化参数
首先,需要修改/etc/sysctl.conf来更改内核参数.例如,最常用的配置: # ·file-max:这个参数表示进程(比如一个worker进程)可以同时打开的最大句柄数,这个参数直接限制最大并 ...
- 在django中使用FormView,success_url死活不能生效的问题
真的不知道是怎么回事, 以前都是手动的, form使用modelform. view使用createview. 今天写新系统时,为了更灵活. form使用form,(这样一来,可以在form是随便按数 ...
- C# Winform将控件作为参数传递
最近做个Winform 的程序设计,需要将窗体的控件作为参数传递到另外一个类的函数中去使用,每次都会忘记,简单的记下来,以备即时查看. 1. 设置控件的modifier属性设置为public 2. 以 ...