695
社区成员
发帖
与我相关
我的任务
分享
//总页码数
private int _pgcount;
public int Pgcount
{
get { return _pgcount; }
set { _pgcount = value; }
}
//当前页码
private int _curpage;
public int Curpage
{
get { return _curpage; }
set { _curpage = value; }
}
//跳页面url
private string _url;
public string Url
{
get { return _url; }
set
{
if (value.Contains("?"))
{
_url = value + "&";
}
else
{
_url = value + "?";
}
}
}
//分页参数
private string _pgpara;
public string Pgpara
{
get { return _pgpara; }
set { _pgpara = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
SetPager();
}
private void SetPager()
{
//首页连接
lblFirst.Text = AddLink(1,"首页");
//上一页连接
lblPrev.Text = AddLink(Curpage-1,"上一页");
//数字分页
string numText="";
//如果总页数在10页以内
if (Pgcount <= 10)
{
numText = SetToPager(1, Pgcount);
}
else
{
if (Pgcount < 10)
{
numText = SetToPager(1, Pgcount);
}
else
{
if (Curpage < 10)
{
numText = SetToPager(1, 10)+AddLink(11,"...");
}
else if (Curpage >= 10 && (Curpage + 5) >= Pgcount)
{
numText = SetToPager(Curpage - 4-((Curpage + 5)-Pgcount), Curpage) + SetToPager(Curpage + 1, Pgcount);
}
else
{
numText = SetToPager(Curpage - 5, Curpage) + SetToPager(Curpage + 1, Curpage+4);
}
}
}
lblNum.Text = numText;
//下一页连接
lblNext.Text = AddLink(Curpage+1,"下一页");
//末页连接
lblLast.Text = AddLink(Pgcount,"末页");
}
//数字分10页
private string SetToPager(int start,int end)
{
string text="";
for (int i = start; i <= end; i++)
{
text = text + AddLink(i);
}
return text;
}
//指定文字添加到指定Pgpara参数
private string AddLink(int topage,string text)
{
return "<a href='" + Url + Pgpara + "=" + topage.ToString() + "'>" + text + "</a>";
}
//给数字分页添加跳转连接
private string AddLink(int i)
{
if (Curpage != i)
{
return "<a href='" + Url + Pgpara + "=" + i.ToString() + "'>" + i.ToString() + "</a>";
}
return i.ToString();
}