轻量级MVC分页控件JPager.Net是怎样的
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,轻量级MVC分页控件JPager.Net是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JPager.Net MVC好用的轻量
千家信息网最后更新 2024年11月22日轻量级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安全错误
数据库的锁怎样保障安全
项城发布网络安全进基层
数据库access电脑软件
vb EXE打开数据库报错
网络安全责任追责制度
网络安全的风险评估流程
惠州pc软件开发咨询
哪种数据库属于nosql类型
广工 网络安全技术
数据中已存在数据库
张家口软件开发方案
界首app软件开发
数据库恢复模型
普陀区常规软件开发厂家价格
传奇世界数据库修改
服务器搭建iis
公众号需要腾讯云的服务器吗
如何用数据库分析一个公司
调滤镜软件开发
网络服务器组成怎么样
代理服务器流量限速
球球大作战服务器神游
派拓网络安全企业
pubg怎么总是显示服务器
广东医联互联网科技有限公司
网络安全故障应急演练方案
考试软件开发价格
数据库学习的结论成果
软件开发男生好学吗
网络安全责任制相关制度政策
代理服务器地址端口