using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.SessionState;
///
/// ContentPager 的摘要说明
///< SPAN>summary>
public class ContentPager : System.Web.UI.Page
{
private System.Web.UI.WebControls.HyperLink lnknext;
private System.Web.UI.WebControls.HyperLink lnkprev;
private System.Web.UI.WebControls.HyperLink lnkfist;
private System.Web.UI.WebControls.HyperLink lnklast;
private System.Web.UI.WebControls.Label pagenum;
private System.Web.UI.WebControls.Label pagecount;
private System.Web.UI.WebControls.Label displaycontent;
public ContentPager()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void datapager(string content,string query)
{
stringPagerSplit=System.Configuration.ConfigurationManager.AppSettings["PagerSplit"];//从 web.config中获取分页符,当然这里可以自己定义,为了方便还是放到配置文件或者数据库中。
string[]contentArray=StringSplit(content, PagerSplit);//这里是一个方法,摘自网上
intPageCount=contentArray.Length;
this.pagecount.Text="共"+ PageCount.ToString() + "< SPAN>font>< SPAN>b>页";
int CurPage;
//确定当前页数
if (System.Web.HttpContext.Current.Request.Params["Page"] != null)
{
CurPage=Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]);
}
else
{
CurPage=1;
}
if (CurPage<1)CurPage=1;
if (Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"])>PageCount)
{
CurPage=PageCount;
}
//显示当前页数
this.pagenum.Text="第"+ CurPage.ToString() + "< SPAN>font>< SPAN>b>页";
//下一页
if (CurPage != PageCount)
{
lnknext.NavigateUrl=System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1) + query;
}
//上一页
if (CurPage>1)
{
lnkprev.NavigateUrl=System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1) + query;
}
//***页
if (CurPage != 1)
{
lnkfist.NavigateUrl=System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1) + query;
}
//***一页
if (CurPage != PageCount)
{
lnklast.NavigateUrl=System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(PageCount) + query;
}
displaycontent.Text=contentArray[CurPage - 1].ToString();
}
#region System.Web.UI.WebControls.HyperLink DisplayContent
public System.Web.UI.WebControls.Label DisplayContent
{
get
{
return this.DisplayContent;
}
set
{
this.displaycontent=value;
}
}
#endregion
#region System.Web.UI.WebControls.HyperLink Lnkprev
public System.Web.UI.WebControls.HyperLink Lnkprev
{
get
{
return this.lnkprev;
}
set
{
this.lnkprev=value;
}
}
#endregion
#region System.Web.UI.WebControls.HyperLink Lnknext
public System.Web.UI.WebControls.HyperLink Lnknext
{
get
{
return this.lnknext;
}
set
{
this.lnknext=value;
}
}
#endregion
#region System.Web.UI.WebControls.HyperLink Lnkfist
public System.Web.UI.WebControls.HyperLink Lnkfist
{
get
{
return this.lnkfist;
}
set
{
this.lnkfist=value;
}
}
#endregion
#region System.Web.UI.WebControls.HyperLink Lnklast
public System.Web.UI.WebControls.HyperLink Lnklast
{
get
{
return this.lnklast;
}
set
{
this.lnklast=value;
}
}
#endregion
#region System.Web.UI.WebControls.Label Pagenum
public System.Web.UI.WebControls.Label Pagenum
{
get
{
return this.pagenum;
}
set
{
this.pagenum=value;
}
}
#endregion
#region System.Web.UI.WebControls.Label Pagecount
public System.Web.UI.WebControls.Label Pagecount
{
get
{
return this.pagecount;
}
set
{
this.pagecount=value;
}
}
#endregion
#region 将字符串分割成数组
///
/// 将字符串分割成数组
///< SPAN>summary>
///< SPAN>param>
///< SPAN>param>
///< SPAN>returns>
public string[] StringSplit(string strSource, string strSplit)
{
string[]strtmp=newstring[1];
intindex=strSource.IndexOf(strSplit, 0);
if (index<0)
{
strtmp[0] = strSource;
return strtmp;
}
else
{
strtmp[0] = strSource.Substring(0, index);
return StringSplit(strSource.Substring(index + strSplit.Length), strSplit, strtmp);
}
}
#endregion
#region 采用递归将字符串分割成数组
///
/// 采用递归将字符串分割成数组
///< SPAN>summary>
///< SPAN>param>
///< SPAN>param>
///< SPAN>param>
///< SPAN>returns>
private string[] StringSplit(string strSource, string strSplit, string[] attachArray)
{
string[]strtmp=newstring[attachArray.Length + 1];
attachArray.CopyTo(strtmp, 0);
intindex=strSource.IndexOf(strSplit, 0);
if (index<0)
{
strtmp[attachArray.Length] = strSource;
return strtmp;
}
else
{
strtmp[attachArray.Length] = strSource.Substring(0, index);
return StringSplit(strSource.Substring(index + strSplit.Length), strSplit, strtmp);
}
}
#endregion
}