asp.net MVC怎样分页
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关asp.net MVC怎样分页,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下using System.Collections
千家信息网最后更新 2025年11月07日asp.net MVC怎样分页
这篇文章将为大家详细讲解有关asp.net MVC怎样分页,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
具体内容如下
using System.Collections.Generic;using System.Collections.Specialized;using System.Linq;using System.Web;using System.Text;using System.Web.Mvc;using System.Web.Routing;using System.Data.Objects.DataClasses;namespace System.Web.Mvc{ public static class PagerHelper { /// /// 分页 /// /// /// 分页id /// 当前页 /// 分页尺寸 /// 记录总数 /// 分页头标签属性 /// 分页样式 /// 分页模式 /// public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount, object htmlAttributes, string className, PageMode mode) { TagBuilder builder = new TagBuilder("table"); builder.IdAttributeDotReplacement = "_"; builder.GenerateId(id); builder.AddCssClass(className); builder.MergeAttributes(new RouteValueDictionary(htmlAttributes)); builder.InnerHtml = GetNormalPage(currentPageIndex, pageSize, recordCount, mode); return builder.ToString(); } /// /// 分页 /// /// /// 分页id /// 当前页 /// 分页尺寸 /// 记录总数 /// 分页样式 /// public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount, string className) { return Pager(helper, id, currentPageIndex, pageSize, recordCount, null, className, PageMode.Normal); } /// /// 分页 /// /// /// 分页id /// 当前页 /// 分页尺寸 /// 记录总数 /// public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount) { return Pager(helper, id, currentPageIndex, pageSize, recordCount, null); } /// /// 分页 /// /// /// 分页id /// 当前页 /// 分页尺寸 /// 记录总数 /// 分页模式 /// public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount, PageMode mode) { return Pager(helper, id, currentPageIndex, pageSize, recordCount, null, mode); } /// /// 分页 /// /// /// 分页id /// 当前页 /// 分页尺寸 /// 记录总数 /// 分页样式 /// 分页模式 /// public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount, string className, PageMode mode) { return Pager(helper, id, currentPageIndex, pageSize, recordCount, null, className, mode); } /// /// 获取普通分页 /// /// /// /// /// private static string GetNormalPage(int currentPageIndex, int pageSize, int recordCount, PageMode mode) { int pageCount = (recordCount % pageSize == 0 ? recordCount / pageSize : recordCount / pageSize + 1); StringBuilder url = new StringBuilder(); url.Append(HttpContext.Current.Request.Url.AbsolutePath + "?page={0}"); NameValueCollection collection = HttpContext.Current.Request.QueryString; string[] keys = collection.AllKeys; for (int i = 0; i < keys.Length; i++) { if (keys[i].ToLower() != "page") url.AppendFormat("&{0}={1}", keys[i], collection[keys[i]]); } StringBuilder sb = new StringBuilder(); sb.Append(""); sb.AppendFormat("总共{0}条记录,共{1}页,当前第{2}页 ", recordCount, pageCount, currentPageIndex); if (currentPageIndex == 1) sb.Append("首页 "); else { string url1 = string.Format(url.ToString(), 1); sb.AppendFormat("首页 ", url1); } if (currentPageIndex > 1) { string url1 = string.Format(url.ToString(), currentPageIndex - 1); sb.AppendFormat("上一页 ", url1); } else sb.Append("上一页 "); if (mode == PageMode.Numeric) sb.Append(GetNumericPage(currentPageIndex, pageSize, recordCount, pageCount, url.ToString())); if (currentPageIndex < pageCount) { string url1 = string.Format(url.ToString(), currentPageIndex + 1); sb.AppendFormat("下一页 ", url1); } else sb.Append("下一页 "); if (currentPageIndex == pageCount) sb.Append("末页 "); else { string url1 = string.Format(url.ToString(), pageCount); sb.AppendFormat("末页 ", url1); } return sb.ToString(); } /// /// 获取数字分页 /// /// /// /// /// /// /// private static string GetNumericPage(int currentPageIndex, int pageSize, int recordCount, int pageCount, string url) { int k = currentPageIndex / 10; int m = currentPageIndex % 10; StringBuilder sb = new StringBuilder(); if (currentPageIndex / 10 == pageCount / 10) { if (m == 0) { k--; m = 10; } else m = pageCount % 10; } else m = 10; for (int i = k * 10 + 1; i <= k * 10 + m; i++) { if (i == currentPageIndex) sb.AppendFormat("{0} ", i); else { string url1 = string.Format(url.ToString(), i); sb.AppendFormat("{1} ", url1, i); } } return sb.ToString(); } } /// /// 分页模式 /// public enum PageMode { /// /// 普通分页模式 /// Normal, /// /// 普通分页加数字分页 /// Numeric }}html代码
控制器
shopEntities shop = new shopEntities(); public ActionResult Index() { //IQueryable order = (from a in shop.tbl_order select a).OrderBy(a=>a.id).Skip(10).Take(10); //ViewData["order"] = order; //return View(); int pageIndex = Request["pageIndex"] == null ? 1 : int.Parse(Request["pageIndex"]); int pageSize = Request["pageSize"] == null ? 10 : int.Parse(Request["pageSize"]); int totalCount = 0; //给前台传递 分页的参数数据 ViewData["pageIndex"] = pageIndex; //ViewData["pageSize"] = pageSize; ViewBag.pageSize = pageSize; //总条数 totalCount = shop.tbl_order.Count(); ViewBag.totalCount = totalCount; //把当前页面数据发送到前台。 //ViewData.Model = db.UserInfo.ToList(); //List pp = shop.tbl_order // .OrderBy(u => u.id) // .Skip((pageIndex - 1) * pageSize) // .Take(pageSize).ToList(); IQueryable pp = shop.tbl_order .OrderBy(u => u.id) .Skip((pageIndex - 1) * pageSize) .Take(pageSize); return View(pp); } 关于"asp.net MVC怎样分页"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
尺寸
总数
模式
样式
篇文章
内容
前台
数字
数据
更多
上一
首页
不错
实用
代码
参数
属性
控制器
文章
标签
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库入门查看建的表的结构
网络安全防控演习
咨询网络安全
软件开发培训班学历
怎样在vac安全服务器验证
网络安全保护类平台有哪些
虚拟专用网络技术的课程主要任务
计算机网络安全问题解决方案
云服务器配置php环境视频教程
芜湖安卓软件开发费用
我的世界宣传服务器推荐
宜良正规软件开发报价表
达梦数据库漏洞
终止软件开发
京韵大鼓视频软件开发
济南物流软件开发费用多少
怎么在问道app以前的服务器
易华录网络安全
客户端一台电脑无法连接数据库
华为泰山服务器是自己的吗
网易我的世界之前最火服务器
计算机三级网络技术答题题库
拍单软件开发
rust 怎么匹配服务器
网络技术服务进口
平台公司软件开发
云服务器配置php环境视频教程
中国期刊网全文数据库的检索功能
java循环查询数据库
女计算机应用技术网络技术
相关文章