Asp.net源码专业站
首页->新知实践->AfengPager通用URL分页源码及Demo>>AfengPager/Methods.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:AfengPager通用URL分页源码及Demo
当前文件:文件类型 AfengPager/AfengPager/Methods.cs[5K,2009-6-12 11:31:32]打开代码结构图
普通视图
		            
1// Author : Afeng 2// FileName : AfengPager 3// Release : 2008/06/23 1.0 4// Description : 通用Url分页控件 5// Mail : 200840418@qq.com 6 7using System; 8using System.Collections.Generic; 9using System.Text; 10using System.Web; 11using System.Web.UI; 12 13namespace AfengTools 14{ 15 public partial class AfengPager 16 { 17 /// <summary> 18 /// 得到总页数(动态,前置条件:总记录数、每页显示的记录数) 19 /// </summary> 20 /// <returns></returns> 21 private Int32 GetTotalPages() 22 { 23 if (this.ShowRecordCount != 0) 24 { 25 return (this.TotalRecordCount + this.ShowRecordCount - 1) / this.ShowRecordCount; 26 } 27 return 0; 28 } 29 30 /// <summary> 31 /// 得到当前选中的页码(动态,前置条件:QueryString) 32 /// </summary> 33 /// <returns></returns> 34 private Int32 GetCurrentPageIndex() 35 { 36 if (HttpContext.Current != null && HttpContext.Current.Request.QueryString[QueryString] != null) 37 { 38 return int.Parse(HttpContext.Current.Request.QueryString[QueryString]); 39 } 40 return 1; 41 } 42 43 /// <summary> 44 /// 得到前翻页码(动态,前置条件:当前页码) 45 /// </summary> 46 /// <param name="currentPageIndex">当前选中的页码</param> 47 /// <param name="showPageNumberCount">每页显示的分页页码数量</param> 48 /// <returns></returns> 49 private Int32 GetPageUpIndex(int currentPageIndex, int showPageNumberCount) 50 { 51 if (currentPageIndex % showPageNumberCount == 0) 52 return (currentPageIndex / showPageNumberCount - 2) * showPageNumberCount + showPageNumberCount; 53 else 54 return (currentPageIndex / showPageNumberCount - 1) * showPageNumberCount + showPageNumberCount; 55 } 56 57 /// <summary> 58 /// 得到后翻页码(动态,前置条件:当前页码) 59 /// </summary> 60 /// <param name="currentPageIndex">当前选中的页码</param> 61 /// <param name="showPageNumberCount">每页显示的分页页码数量</param> 62 /// <returns></returns> 63 private Int32 GetPageDownIndex(int currentPageIndex, int showPageNumberCount) 64 { 65 if (currentPageIndex % showPageNumberCount == 0) 66 return (currentPageIndex / showPageNumberCount) * showPageNumberCount + 1; 67 else 68 return (currentPageIndex / showPageNumberCount + 1) * showPageNumberCount + 1; 69 } 70 71 /// <summary> 72 /// 呈现页码部分 73 /// </summary> 74 /// <param name="output">HtmlTextWriter</param> 75 /// <param name="currentPageIndex">当前页码</param> 76 /// <param name="showPageNumberCount">显示的页码数量</param> 77 private void RenderPageNumber(HtmlTextWriter output, int currentPageIndex, int showPageNumberCount, int sumPageCount) 78 { 79 // 如果当前页不能整除 showPageNumberCount 页 80 if (currentPageIndex % showPageNumberCount != 0) 81 { 82 for (int i = currentPageIndex / showPageNumberCount * showPageNumberCount + 1, j = 1; j <= showPageNumberCount && i <= sumPageCount; i++, j++) 83 { 84 output.AddStyleAttribute(HtmlTextWriterStyle.TextDecoration, "none"); 85 86 // 当前选中页用特殊颜色标记 87 if (i == currentPageIndex) 88 { 89 output.AddStyleAttribute(HtmlTextWriterStyle.Color, this.SelectedPageNumberColor); 90 } 91 else 92 { 93 output.AddStyleAttribute(HtmlTextWriterStyle.Color, this.PageNumberColor); 94 } 95 96 output.AddAttribute(HtmlTextWriterAttribute.Href, String.Format("?{0}={1}", this.QueryString, i.ToString())); 97 output.RenderBeginTag(HtmlTextWriterTag.A); 98 output.Write(this.TextBeforePageNumber); 99 output.Write(i.ToString()); 100 output.Write(this.TextAfterPageNumber); 101 output.RenderEndTag(); 102 output.Write("&nbsp;&nbsp;"); 103 } 104 } 105 else 106 { 107 for (int i = (currentPageIndex / showPageNumberCount - 1) * showPageNumberCount + 1, j = 1; j <= showPageNumberCount && i <= sumPageCount; i++, j++) 108 { 109 output.AddStyleAttribute(HtmlTextWriterStyle.TextDecoration, "none"); 110 111 // 当前选中页用特殊颜色标记 112 if (i == currentPageIndex) 113 { 114 output.AddStyleAttribute(HtmlTextWriterStyle.Color, this.SelectedPageNumberColor); 115 } 116 else 117 { 118 output.AddStyleAttribute(HtmlTextWriterStyle.Color, this.PageNumberColor); 119 } 120 121 output.AddAttribute(HtmlTextWriterAttribute.Href, String.Format("?{0}={1}", this.QueryString, i.ToString())); 122 output.RenderBeginTag(HtmlTextWriterTag.A); 123 output.Write(this.TextBeforePageNumber); 124 output.Write(i.ToString()); 125 output.Write(this.TextAfterPageNumber); 126 output.RenderEndTag(); 127 output.Write("&nbsp;&nbsp;"); 128 } 129 } 130 } 131 } 132} 133
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:AfengPager通用URL分页源码及Demo
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146