⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getsearchpage.cs

📁 1、用SQL查询器打开install目录下的dooogo.sql运行之后创建数据库dooogo。 2、然后打开web.config修改 <DbProvider type="Club.Fram
💻 CS
字号:
//Copyright (C) 2006 dooogo.com
//Author:benben
//www.aspxclub.com
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Data;
using System.Web;

namespace Club.Common
{
	/// <summary>
	/// 分页控件
	/// </summary>
	[ToolboxData("<{0}:GetSearchPage runat=server></{0}:GetSearchPage>")]
	public class GetSearchPage : System.Web.UI.WebControls.Panel,System.Web.UI.INamingContainer
	{
		public GetSearchPage()
		{
			base.Width=Unit.Parse("100%");
		}
		#region 属性
		private Control dataList=null;
		private HyperLink first=null;
		private HyperLink end = null;
		private HyperLink next=null;
		private HyperLink pre = null;
		private Label showCount=null;
		private int pageIndex = 1;
		private string pageUrlFormatString="?PageIndex={0}";
		private string countFormatString="共{0}条 {1}条/页 {2}/{3}页";
		private int recordCount=0;
		private int pageSize=0;
		private int pageButtonCount=10;
		private object dataSource=null;
		private string numberButtonFormatString=" {0} ";
		/// <summary>
		/// 页面索引
		/// </summary>
		public int PageIndex
		{
			get
			{
				return this.pageIndex;
			}
			set
			{
				this.pageIndex=value;
			}
		}
		/// <summary>
		/// 页面地址格式化字符串
		/// </summary>
		public string PageUrlFormatString
		{
			get
			{
				return this.pageUrlFormatString;
			}
			set
			{
				this.pageUrlFormatString=value;
			}
		}
		/// <summary>
		/// 统计格式字符
		/// </summary>
		public string CountFormatString
		{
			get
			{
				return this.countFormatString;
			}
			set
			{
				this.countFormatString=value;
			}
		}
		/// <summary>
		/// 页面统计
		/// </summary>
		public int PageCount
		{
			get
			{
				if((this.RecordCount%this.PageSize)>0)
				{
					return (this.RecordCount/this.PageSize)+1;
				}
				else
				{
					return  this.RecordCount/this.PageSize;
				}
			}
		}
		/// <summary>
		/// 记录统计
		/// </summary>
		public int RecordCount
		{
			get
			{
				return this.recordCount;
			}
			set
			{
				this.recordCount=value;
			}
		}
		/// <summary>
		/// 页面尺寸
		/// </summary>
		public int PageSize
		{
			get
			{
				return this.pageSize;
			}
			set
			{
				this.pageSize=value;
			}
		}
		/// <summary>
		/// 按钮数
		/// </summary>
		public int PageButtonCount
		{
			get
			{
				return this.pageButtonCount;
			}
			set
			{
				this.pageButtonCount=value;
			}
		}
		/// <summary>
		/// 数字按钮格式化字符串
		/// </summary>
		public string NumberButtonFormatString
		{
			get
			{
				return this.numberButtonFormatString;
			}
			set
			{
				this.numberButtonFormatString=value;
			}
		}
		/// <summary>
		/// 需分页的数据集
		/// </summary>
		public object DataSource
		{
			get
			{
				return this.dataSource;
			}
			set
			{
				this.dataSource=value;
			}
		}
		#endregion

		#region 绑定数据
		protected override void OnDataBinding(EventArgs e)
		{
			base.CreateChildControls ();
			if(this.FindControl("pageButton")!=null)
			{
				Panel _page=(Panel)this.FindControl("pageButton");
			}
			if(HttpContext.Current.Request.QueryString["PageIndex"]!=null)
			{
				this.PageIndex = int.Parse(HttpContext.Current.Request.QueryString["PageIndex"]);
			}
			if(this.FindControl("dataList")!=null)
			{
				this.dataList=this.FindControl("dataList");
			}
			GetMyDsBind();
			GetMyButton();
			this.FindControl("pageButton").Visible=true;
		}

		private void GetMyDsBind()
		{
			if(this.dataSource==null)
			{
				return ;
			}
			if(this.dataList!=null)
			{
				if(this.dataList is BaseDataList)
				{
					BaseDataList _baseDataList=(BaseDataList)this.dataList;
					_baseDataList.DataSource= this.dataSource;
					_baseDataList.DataBind();
				}
				else if(this.dataList is Repeater)
				{
					Repeater _repeater=(Repeater)this.dataList;
					_repeater.DataSource= this.dataSource;
					_repeater.DataBind();
				}
				else
				{
					throw new System.Exception("列表控件类型不正确!请重新设置内部ID为dataList的列表控件!");
				}

			}
			else
			{
				throw new System.Exception("没有找到内部ID为dataList的列表控件!");
			}
		}
		#endregion

		#region 创建按钮
		private void GetMyButton()
		{
			if(this.FindControl("FirstLink")!=null)
			{
				this.first=(HyperLink)this.FindControl("FirstLink");
				this.first.NavigateUrl = string.Format(this.PageUrlFormatString,"1");
				if(this.PageIndex==1)
				{
					this.first.Enabled=false;
				}
				else
				{
					this.first.Enabled=true;
				}
			}
			if(this.FindControl("EndLink")!=null)
			{
				this.end=(HyperLink)this.FindControl("EndLink");
				this.end.NavigateUrl = string.Format(this.PageUrlFormatString,this.PageCount);
				if(this.PageIndex>=this.PageCount)
				{
					this.end.Enabled=false;
				}
				else
				{
					this.end.Enabled=true;
				}
			}
			if(this.FindControl("PreLink")!=null)
			{
				this.pre=(HyperLink)this.FindControl("PreLink");
				this.pre.NavigateUrl = string.Format(this.PageUrlFormatString,this.PageIndex>1?this.PageIndex-1:this.PageIndex);
			}
			if(this.PageIndex==1)
			{
				this.pre.Enabled=false;
			}
			else
			{
				this.pre.Enabled=true;
			}
			if(this.FindControl("IndexLink")!=null)
			{
				Control indexButton=this.FindControl("IndexLink");
				//indexButton.Controls.Clear();
				int startIndex;
				int endIndex;
				int currentButtonCount = this.PageButtonCount-1;
				startIndex = this.PageIndex-(currentButtonCount/2);
				startIndex = startIndex>0?startIndex:1;
				endIndex = this.PageIndex+(currentButtonCount/2);
				if((endIndex-startIndex)<currentButtonCount)
				{
					endIndex = startIndex+currentButtonCount;
				}
				endIndex = endIndex<this.PageCount?endIndex:this.PageCount;
				if((endIndex-startIndex)<currentButtonCount)
				{
					startIndex= endIndex - currentButtonCount;
				}
				startIndex = startIndex>0?startIndex:1;
				if(indexButton.Controls.Count==0)
				{
					for(int i=startIndex;i<=endIndex;i++)
					{
						HyperLink lb=new HyperLink();
						lb.Text = string.Format(NumberButtonFormatString,i.ToString());
						lb.NavigateUrl = string.Format(this.PageUrlFormatString,i);
						if(this.PageIndex==i)
						{
							lb.Enabled=false;
						}
						indexButton.Controls.Add(lb);
					}
				}
			}
			if(this.FindControl("NextLink")!=null)
			{
				this.next=(HyperLink)this.FindControl("NextLink");
				this.next.NavigateUrl = string.Format(this.PageUrlFormatString,this.PageIndex<this.PageCount?this.PageIndex+1:this.PageIndex);
			}
			if(this.PageIndex>=this.PageCount)
			{
				this.next.Enabled=false;
			}
			else
			{
				this.next.Enabled=true;
			}
			if(this.FindControl("ShowCount")!=null)
			{
				this.showCount = (Label)this.FindControl("ShowCount");
				this.showCount.Text = string.Format(this.CountFormatString,this.RecordCount,this.PageSize,this.PageIndex,this.PageCount);
			}
		}
		#endregion
		
		#region 隐藏标记
		public override void RenderBeginTag(System.Web.UI.HtmlTextWriter writer) {}
		public override void RenderEndTag(System.Web.UI.HtmlTextWriter writer) {}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -