全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Blazor 数据列表分页逻辑实现教程

Blazor中实现数据列表分页需定义currentPage、pageSize、totalItems和paginatedData,通过Skip/Take切片获取当前页数据,计算totalPages并渲染页码导航,支持首页、上一页、下一页、末页跳转。

Blazor 中实现数据列表分页,核心是控制每页显示数量、当前页码、总条数,并配合 UI 触发页码切换。不依赖第三方组件也能轻松完成,关键是把“数据切片”和“页码状态管理”理清楚。

一、基础分页参数定义

在组件(.razor)的 @code 块中声明几个必要字段:

  • currentPage:当前页码(从 1 开始更符合用户直觉)
  • pageSize:每页显示条数(如 10、20)
  • totalItems:数据总条数(通常来自 API 或服务)
  • paginatedData:当前页要展示的数据子集(计算属性或方法返回)

二、计算当前页数据(切片逻辑)

用 C# 的 skiptake 最直接:

private List PaginatedData =>
    AllItems
        .Skip((currentPage - 1) * pageSize)
        .Take(pageSize)
        .ToList();

注意:AllItems 是完整数据源(可来自服务、内存列表或异步加载结果)。如果数据量大,建议后端分页;前端分页仅适用于总数可控(比如 ≤ 5000 条)的场景。

三、生成页码导航 UI

用循环渲染页码按钮,常见做法是显示「首页、上一页、123…、下一页、末页」。简化版可先做连续页码:

  • 算出总页数:int totalPages = (int)Math.Ceiling(totalItems / (double)pageSize);
  • @for (int i = 1; i 渲染按钮
  • 每个按钮绑定点击事件:@onclick="() => GoToPage(i)"
  • GoToPage(int page) 方法里校验范围并更新 currentPage,再触发重新渲染

四、支持跳转与边界处理

用户可能输入页码或点「上/下一页」,需加防护:

  • 跳转前判断:if (page totalPages) page = totalPages;
  • 「上一页」逻辑:currentPage = Math.Max(1, currentPage - 1);
  • 「下一页」逻辑:currentPage = Math.Min(totalPages, currentPage + 1);
  • 修改 currentPage 后,Blazor 会自动重绘 PaginatedData 和页码栏

基本上就这些。不需要额外库,几行逻辑 + 简单 UI 就能跑起来。重点是把“页码→索引→切片”的映射写对,其余都是围绕它展开的交互补充。


# 前端  # 后端  # c#  # 异步加载  # 重绘  # for  # math  # int  # double  # 循环  # 切片  # 异步  # ui  # 分页  # 下一页  # 上一页  # 跳转  # 条数  # 每页  # 首页  # 末页  # 当前页  # 都是 


相关文章: 网站建设制作、微信公众号,公明人民医院怎么在网上预约?  广平建站公司哪家专业可靠?如何选择?  如何在橙子建站中快速调整背景颜色?  如何快速启动建站代理加盟业务?  教学网站制作软件,学习*后期制作的网站有哪些?  已有域名如何免费搭建网站?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  如何快速登录WAP自助建站平台?  西安大型网站制作公司,西安招聘网站最好的是哪个?  建站OpenVZ教程与优化策略:配置指南与性能提升  制作网站外包平台,自动化接单网站有哪些?  C++如何使用std::optional?(处理可选值)  如何快速搭建二级域名独立网站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  测试制作网站有哪些,测试性取向的权威测试或者网站?  建站168自助建站系统:快速模板定制与SEO优化指南  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  手机网站制作与建设方案,手机网站如何建设?  如何快速建站并高效导出源代码?  如何零基础开发自助建站系统?完整教程解析  Python路径拼接规范_跨平台处理说明【指导】  建站主机服务器选型指南与性能优化方案解析  公众号网站制作网页,微信公众号怎么制作?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  开源网站制作软件,开源网站什么意思?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  公司网站设计制作厂家,怎么创建自己的一个网站?  电商网站制作公司有哪些,1688网是什么意思?  如何在自有机房高效搭建专业网站?  python的本地网站制作,如何创建本地站点?  北京制作网站的公司,北京铁路集团官方网站?  如何选择最佳自助建站系统?快速指南解析优劣  ,制作一个手机app网站要多少钱?  建站之星导航菜单设置与功能模块配置全攻略  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  做企业网站制作流程,企业网站制作基本流程有哪些?  建站之星备案流程有哪些注意事项?  如何快速生成可下载的建站源码工具?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  网站制作企业,网站的banner和导航栏是指什么?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  ,交易猫的商品怎么发布到网站上去?  购物网站制作公司有哪些,哪个购物网站比较好?  建站主机如何选?性能与价格怎样平衡?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  外贸公司网站制作哪家好,maersk船公司官网?  小建面朝正北,A点实际方位是否存在偏差?  如何彻底删除建站之星生成的Banner? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。