博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net mvc 分页
阅读量:6841 次
发布时间:2019-06-26

本文共 3508 字,大约阅读时间需要 11 分钟。

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
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();    
    显示第 @((Model.PageIndex - 1) * Model.PageSize + 1) - @(Model.PageIndex * Model.PageSize > Model.TotalCount ? Model.TotalCount : Model.PageIndex * Model.PageSize) 条记录,共 @Model.TotalCount 条记录
    @if (Model.PageIndex > 1) {
  • } else {
  • } @{ 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) {
  • @pagemin
  • } else { for (int i = pagemin; i <= pagemax; i++) {
  • class="active" }>@i
  • } } } @if (Model.PageIndex < Model.PageCount) {
  • } else {
  • }
}

3、调用

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

转载于:https://www.cnblogs.com/lizhenhong/p/9151815.html

你可能感兴趣的文章
用sorttable给页面表格做排序
查看>>
DHCP Server跨路由分配IP地址(DHCP中继
查看>>
用VB实现“木马”式隐形运行程序
查看>>
Microsoft System Center 2012(七)-SCOM 2012监控redhat linux 6.0
查看>>
适合IT人士的一种做饭方法--炕饼
查看>>
三层交换VLAN配置
查看>>
监控运维系统实施方案--监控对象信息收集阶段
查看>>
WINDOWS和LINUX下带时间的PING包监控脚本
查看>>
RHEL6入门系列之九,常用命令2
查看>>
Exchange数据保护最佳实践
查看>>
突破360防黑加固添加用户
查看>>
数据仓库建模方法初步
查看>>
Active Directory 回收站配置篇
查看>>
ubuntu 11.10 体验
查看>>
MS UC 2013-0-虚拟机-标准化-部署-2-模板机-制作-5
查看>>
隐藏nginx、apache与php版本号
查看>>
【STM32 .Net MF开发板学习-08】远程PLC读写控制
查看>>
Lync 小技巧-12-同台服务器删除Lync Server 2010安装Lync Server 2013
查看>>
【STM32 .Net MF开发板学习-17】Wifi遥控智能小车
查看>>
做程序,要“专注”和“客观”
查看>>