轻量级MVC分页控件JPager.Net是怎样的
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,轻量级MVC分页控件JPager.Net是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JPager.Net MVC好用的轻量
千家信息网最后更新 2025年11月16日轻量级MVC分页控件JPager.Net是怎样的
轻量级MVC分页控件JPager.Net是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
JPager.Net MVC好用的轻量级分页控件,好用到你无法想象,轻量到你无法想象。
JPager.Net MVC好用的轻量级分页控件,实现非常简单,使用也非常简单。
JPager.Net MVC好用的轻量级分页控件,代码精心推敲,经多人反复建议修改,最终成型使用中。非常好用分享给大家。源代码一共放出来。先上个效果图:
JPager.Net MVC好用的轻量级分页控件JPager.Net .dll核心代码
PagerInBase.cs
namespace JPager.Net{ /// /// 分页基础类 /// public class PagerInBase { /// /// 当前页 /// public int PageIndex { get; set; } /// /// 页数 /// public int PageSize { get; set; } //跳过序列中指定数量的元素 public int Skip => (PageIndex - 1) * PageSize; /// /// 请求URL /// public string RequetUrl => System.Web.HttpContext.Current.Request.Url.OriginalString; /// /// 构造函数给当前页和页数初始化 /// public PagerInBase() { if (PageIndex == 0) PageIndex = 1; if (PageSize == 0) PageSize = 10; } }}PagerResult.cs
using System;using System.Collections.Generic;using System.Text;namespace JPager.Net{ /// /// ULR拼装 /// internal static class Exts { public static string GetUrl(this string url, int curIndex, int reps) { return url.Replace("pageindex=" + curIndex.ToString(), "pageindex=" + reps.ToString()); } } /// /// 分页核心代码 /// /// public class PagerResult { public int Code { get; set; } public int Total { get; set; } public IEnumerable DataList { get; set; } public int PageSize { get; set; } public int PageIndex { get; set; } public string RequestUrl { get; set; } /// /// 分页页码Html /// /// 默认样式:jpager /// public string PagerHtml(string cssClass="jpager") { if (PageIndex == 0) PageIndex = 1; if (RequestUrl.IndexOf("?", StringComparison.Ordinal) == -1) RequestUrl += "?pageindex=1"; else if (RequestUrl.IndexOf("&pageindex", StringComparison.Ordinal) == -1&& RequestUrl.IndexOf("?pageindex", StringComparison.Ordinal) == -1) RequestUrl += "&pageindex=1"; var html = new StringBuilder(); html.AppendFormat("", cssClass); var pageLen = Math.Ceiling((double)Total / PageSize); html.AppendFormat(" 首页 ", RequestUrl.GetUrl(PageIndex,1)); html.AppendFormat(" 上页 ", RequestUrl.GetUrl(PageIndex, PageIndex < 2 ? 1 : PageIndex - 1)); var si = PageIndex <= 6 ? 1 : PageIndex - 5; var ei = si + 9; while (si <= pageLen && si <= ei) html.AppendFormat( si == PageIndex ? " {1} " : " {1} ", RequestUrl.GetUrl(PageIndex, si), si++); html.AppendFormat(" 下页 ", RequestUrl.GetUrl(PageIndex, (int)(PageIndex > pageLen - 1 ? pageLen : PageIndex + 1))); html.AppendFormat(" 尾页 ", Math.Abs(Total) <= 0 ? RequestUrl.GetUrl(PageIndex, 1) : RequestUrl.GetUrl(PageIndex, (int) pageLen)); html.Append(@""); return html.ToString(); } }} 使用方法:
HomeController.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web.Mvc;using JPager.Net;using JPager.Net.Web.Models;namespace JPager.Net.Web.Controllers{ public class HomeController : Controller { public ActionResult Index(UserParams param) { //每页显示的条数默认10 //param.PageSize = 10; //保存搜索条件 ViewBag.SearchName = param.Name; ViewBag.SearchAge = param.Age; //获取数据集合 var list = PageContent(); //根据条件检索 var query = param.Name!=null ? list.Where(t=>t.Name.Contains(param.Name)).ToList() : list.ToList(); //分页数据 var data = query.Skip(param.Skip).Take(param.PageSize); //总页数 var count = query.Count; var res = new PagerResult { Code = 0, DataList = data, Total = count, PageSize = param.PageSize,PageIndex = param.PageIndex,RequestUrl = param.RequetUrl}; return View(res); } //测试数据 public List PageContent() { var list = new List(); for (var t = 0; t < 10000; t++) { list.Add(new User { Id = t, Name = "Joye.net"+t.ToString(), Age = t + 10, Score = t, Address = "http://yinrq.cnblogs.com/", AddTime = DateTime.Now }); } return list; } }} Models文件夹建User.cs和UserParams.cs
User.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace JPager.Net.Web.Models{ public class UserParams:JPager.Net.PagerInBase { public int Id { get; set; } public string Name { get; set; } public int ? Age { get; set; } public int Score { get; set; } public string Address { get; set; } public DateTime AddTime { get; set; } }}UserParams.cs
using System;namespace JPager.Net.Web.Models{ public class User { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } public int Score { get; set; } public string Address { get; set; } public DateTime AddTime { get; set; } }}view显示
@model JPager.Net.PagerResult@{ ViewBag.Title = "Index";} JPager.Net MVC好用的轻量级分页控件
@foreach (JPager.Net.Web.Models.User item in Model.DataList) { ID Name Age Score Address AddTime } @item.Id @item.Name @item.Age @item.Score @item.Address @item.AddTime @Html.Raw(Model.PagerHtml()) 共 @Model.Total 条
github:https://github.com/decadestory/JPager.Net
关于轻量级MVC分页控件JPager.Net是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
轻量
控件
轻量级
好用
代码
数据
条件
问题
页数
方法
更多
核心
帮助
搜索
解答
易行
简单易行
中指
使用方法
元素
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库电器管理系统免费论文
citus分布式数据库应用
关于网络技术的求职信
服务器系统推荐
甘肃省大学生网络安全
软件开发制作论文
web前端软件开发要学什么
win7登录远程服务器
高级数据库技术 汤庸
质量管理软件开发与销售注意事项
数据库估计系统属于系统软件吗
玛里苟斯服务器名人
编辑数据库那个软件是
成都正规软件开发服务
数据库主外键关系表
宿豫区自动化网络技术解决方案
华为服务器默认ibmc账号密码
古冶区信息网络技术答疑解惑
衢州凯创网络技术有限公司
网络安全法第二十一条第五项
数据库技术学院奖
梦幻西游景泰蓝服务器
软件开发选择生命周期模型
数据库avg函数
规范网络安全简报
最新网络安全游戏
贵州高校党建软件开发哪儿好
上海 软件开发
全国地籍数据库
火绒安全软件 更新服务器