博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单的分页控件(原创)
阅读量:6322 次
发布时间:2019-06-22

本文共 2499 字,大约阅读时间需要 8 分钟。

前台有个容器用来存放创建的HtmlAnchor
生成的样式:首页 上一页 12345 下一页 末页
///  /// ///  /// index first page is 0 /// 
HtmlAnchor GetPageLink(int page) {
HtmlAnchor a = new HtmlAnchor(); if (page < 0 || page > ItemCount / PageSize) return null; //a.HRef = string.Format(Request.Path + (Request .QueryString .Count >0?string.Empty : "?")+"PageIndex={0}", page.ToString()); a.HRef =ToUriWithUserDomain(string.Format ("/HealthPostList/{0}.aspx",page.ToString ())); a.InnerText = (page + 1).ToString(); return a; } void PageLinks() {
Dictionary
pageIDs = new Dictionary
(); int pageCount = idList.Length / PageSize; for (int i = 0, c = pageCount; i <= c; i++) {
var item = idList.Skip(i * PageSize).Take(PageSize).ToArray (); if (item.Length <= 0) continue; pageIDs.Add(i,item); } idList = pageIDs[PageIndex]; //first page HtmlAnchor firstPage =GetPageLink (0); firstPage .InnerText ="首页"; PageLinkList .Controls .Add (firstPage); HtmlAnchor prePage = GetPageLink((PageIndex - 1) < 0 ? 0 : (PageIndex - 1)); prePage.InnerText = "上一页"; PageLinkList.Controls.Add(prePage); int range = 2; int wholeRange = range * 2 + 1; if (wholeRange > pageCount) {
wholeRange = pageCount; range = wholeRange / 2; } List
showPageIndex = new List
(); showPageIndex.Add(PageIndex); while (showPageIndex.Count() < wholeRange) {
showPageIndex.Add(showPageIndex.Max() + 1); showPageIndex.Add(showPageIndex.Min() - 1); if (PageIndex < range) showPageIndex.Add(showPageIndex.Max() + 1); if (PageIndex >= pageCount) showPageIndex.Add(showPageIndex.Min() - 1); showPageIndex = showPageIndex.OrderBy(item => item).ToList (); showPageIndex = showPageIndex.Where(item => item >=0 && item < pageCount).ToList(); } //showPageIndex.OrderBy(item => item); foreach (int i in showPageIndex) {
if(i==PageIndex ) {
HtmlGenericControl font = new HtmlGenericControl("font"); font.Attributes.Add("style", "font-size:24px"); font.Controls.Add(GetPageLink(PageIndex)); PageLinkList.Controls.Add(font); } else PageLinkList.Controls.Add(GetPageLink(i)); } HtmlAnchor nextPage = GetPageLink((PageIndex + 1) > (pageCount - 1) ? PageIndex : (PageIndex + 1)); nextPage.InnerText = "下一页"; PageLinkList.Controls.Add(nextPage); HtmlAnchor endPage = GetPageLink((pageCount - 1)<0?0:(pageCount -1)); endPage.InnerText = "末页"; PageLinkList.Controls.Add(endPage); }
本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2009/10/27/1590758.html,如需转载请自行联系原作者
你可能感兴趣的文章
杂记~~~MFC SOCKET
查看>>
完成评论功能
查看>>
VC 输入法注入源码
查看>>
BinaryTree I
查看>>
IE6-IE9兼容性问题列表及解决办法_补充之四:HTC (Html Components) 功能逐渐被IE抛弃...
查看>>
Verilog与C/C++的一些区别
查看>>
DIV焦点事件详解 --【focus和tabIndex】
查看>>
vim php代码规范
查看>>
最最基本的Git入门 -- 本地仓库操作
查看>>
机器学习平台跃迁,AI中台才是大势所趋
查看>>
Imperva开源域目录控制器,简化活动目录集成
查看>>
微软发布预览版SQL Server跨平台开发工具
查看>>
Uber推出数据湖集成神器DBEvents,支持MySQL、Cassandra等
查看>>
Entity Framework Core 2.0的新特性
查看>>
[deviceone开发]-do_Http组件示例
查看>>
linux yum命令
查看>>
职场中怎样评估系统架构师的成绩?
查看>>
(总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解
查看>>
centos7 搭建nfs共享文件
查看>>
linux命令
查看>>