分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

.net mvc 分页

发布时间:2023-09-06 01:58责任编辑:彭小芳关键词:暂无标签

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 分页

原文地址:https://www.cnblogs.com/lizhenhong/p/9151815.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved