做村易通网站站长要收费吗?,深圳做网站的企业,百度蜘蛛网站排名,物流建设网站总结报告asp.net mvc 自定义 pager 封装与优化Intro之前做了一个通用的分页组件#xff0c;但是有些不足#xff0c;从翻页事件和分页样式都融合在后台代码中#xff0c;到翻页事件可以自定义#xff0c;再到翻页和样式都和代码分离#xff0c; 自定义分页 pager 越来越容易扩展了… asp.net mvc 自定义 pager 封装与优化Intro之前做了一个通用的分页组件但是有些不足从翻页事件和分页样式都融合在后台代码中到翻页事件可以自定义再到翻页和样式都和代码分离 自定义分页 pager 越来越容易扩展了。HtmlHelper Pager扩展Pager V1.0/// summary/// Pager V1.0/// /summary/// param namehelperHtmlHelper/param/// param namepager分页信息/param/// returns/returnspublic static MvcHtmlString Pager(this HtmlHelper helper, PagerModel pager){ StringBuilder sbHtmlText new StringBuilder(); sbHtmlText.Append(div style\text-align:center\navul class\pagination\); if (pager.PageIndex 1) { sbHtmlText.Append(li class\disabled\a href\javascript:void(0)\ aria-label\Previous\span aria-hidden\true\«/span/a/li); } else { sbHtmlText.AppendFormat(lia href\javascript:loadData(1)\ aria-label\1\span aria-hidden\true\«/span/a/li, pager.PageIndex - 1); sbHtmlText.AppendFormat(lia href\javascript:loadData({0})\{0}/a/li, pager.PageIndex - 1); } sbHtmlText.AppendFormat(li class\active\a href\javascript:void(0)\{0}span class\sr-only\(current)/span/a/li, pager.PageIndex); if (pager.PageIndex pager.PageCount) { sbHtmlText.Append(li class\disabled\a href\javascript:void(0)\ aria-label\Next\span aria-hidden\true\»/span/a/li); } else { sbHtmlText.AppendFormat(lia href\javascript:loadData({0})\{0}/a/li, pager.PageIndex 1); sbHtmlText.AppendFormat(lia href\javascript:loadData({0})\ aria-label\Next\span aria-hidden\true\»/span/a/li, pager.PageIndex 1); } sbHtmlText.Append(/ul/nav); sbHtmlText.AppendFormat(divspan每页有strong{0}/strong条数据一共有strong{1}/strong页总计strong{2}/strong条数据/span/div/div, pager.PageSize, pager.PageCount, pager.TotalCount); return MvcHtmlString.Create(sbHtmlText.ToString());}Pager V2.0/// summary/// Pager V2.0/// /summary/// param namehelperHtmlHelper/param/// param namepager分页信息/param/// param nameonPageChange翻页事件/param/// returns/returnspublic static MvcHtmlString Pager(this HtmlHelper helper, PagerModel pager, Funcint, string onPageChange){ StringBuilder sbHtmlText new StringBuilder(); sbHtmlText.Append(div style\text-align:center\navul class\pagination\); if (pager.PageIndex 1) { sbHtmlText.Append(li class\disabled\a href\javascript:void(0)\ aria-label\Previous\span aria-hidden\true\«/span/a/li); } else { sbHtmlText.AppendFormat(lia href\{0}\ aria-label\Previous\span aria-hidden\true\«/span/a/li, onPageChange(pager.PageIndex - 1)); sbHtmlText.AppendFormat(lia href\{0}\{1}/a/li, onPageChange(pager.PageIndex - 1), pager.PageIndex - 1); } sbHtmlText.AppendFormat(li class\active\a href\javascript:void(0)\{0}span class\sr-only\(current)/span/a/li, pager.PageIndex); if (pager.PageIndex pager.PageCount) { sbHtmlText.Append(li class\disabled\a href\javascript:void(0)\ aria-label\Next\span aria-hidden\true\»/span/a/li); } else { sbHtmlText.AppendFormat(lia href\{0}\{1}/a/li, onPageChange(pager.PageIndex 1), pager.PageIndex 1); sbHtmlText.AppendFormat(lia href\{0}\ aria-label\Next\span aria-hidden\true\»/span/a/li, onPageChange(pager.PageIndex 1)); } sbHtmlText.Append(/ul/nav); sbHtmlText.AppendFormat(divspan每页有strong{0}/strong条数据一共有strong{1}/strong页总计strong{2}/strong条数据/span/div/div, pager.PageSize, pager.PageCount, pager.TotalCount); return MvcHtmlString.Create(sbHtmlText.ToString());}Pager V3.0/// summary/// Pager V3.0/// /summary/// param namehelperHtmlHelper/param/// param namepager分页信息/param/// param nameonPageChange翻页地址或事件/param/// param namepagerViewName分页分部视图名称/param/// param namedisplayMode分页显示模式/param/// returns/returnspublic static MvcHtmlString Pager(this HtmlHelper helper, PagerModel pager, Funcint, string onPageChange, string pagerViewName, PagingDisplayMode displayMode PagingDisplayMode.Always){ pager.OnPageChange onPageChange; pager.PagingDisplayMode displayMode; return MvcHtmlString.Create(helper.Partial(pagerViewName, pager).ToHtmlString());}SummaryPager V1.0 分页样式和翻页事件如果要修改都要修改 CSharp 代码Pager V2.0 可以自定义翻页事件但是要修改分页样式还是要修改 CSharp 代码Pager V3.0 可以在自定义分页分部视图中修改翻页事件或地址和分页样式,可以实现样式数据代码的分离End自定义 MvcSimplePager 项目和示例代码https://github.com/WeihanLi/MvcSimplePager对于 asp.net core 也是支持的哟 ()ノ~