110,537
社区成员
发帖
与我相关
我的任务
分享
public void Paging(int totalrecord, int PageSize, int DigitNo, Control pagediv, Repeater rpt,string table,string id)
{
int CurrentPage, PageStart, PageEnd, TotalPage;
//****************************************//计算总页数
int pn1 = totalrecord / PageSize, pn2 = totalrecord % PageSize;
if (pn2 != 0)
TotalPage = pn1 + 1;
else
if (pn1 == 0)
TotalPage = 1;
else
TotalPage = pn1;
//****************************************
if (Request.QueryString["page"] == null)//获取当前页码
CurrentPage = 1;
else
CurrentPage = Convert.ToInt16(Request.QueryString["page"]);
PageStart = 1;//起始数字逻辑判断
if (CurrentPage >= DigitNo + 2)
PageStart = CurrentPage - DigitNo;
PageEnd = CurrentPage + DigitNo;//结束数字逻辑判断
if (PageEnd > TotalPage + 1)
PageEnd = TotalPage + 1;
if (CurrentPage != 1)
{
HyperLink FP = new HyperLink();//生成首页文字按钮
FP.Text = "首页"; FP.Style["color"] = "#06C";
FP.NavigateUrl = "?page=1";
HyperLink PP = new HyperLink();//生成上一页文字按钮
PP.Text = "上一页"; PP.Style["color"] = "#06C";
PP.NavigateUrl = "?page=" + (CurrentPage - 1);
pagediv.Controls.Add(FP);//将文字分页按钮装入pagediv容器
pagediv.Controls.Add(PP);
}
for (int i = PageStart; i < PageEnd; i++)//生成中间数字按钮,并进行相关判断
{
HyperLink no = new HyperLink();
no.Text = i.ToString();
no.NavigateUrl = "?page=" + i;
no.CssClass = "pagediv";
if (i == CurrentPage)
{
no.Enabled = false;
no.CssClass = "current";
}
pagediv.Controls.Add(no);//将数字分页按钮装入pagediv容器
}
if (CurrentPage != TotalPage)
{
HyperLink LP = new HyperLink();//生成尾页文字按钮
LP.Text = "尾页"; LP.Style["color"] = "#06C";
LP.NavigateUrl = "?page=" + TotalPage;
HyperLink NP = new HyperLink();//生成下一页文字按钮
NP.Text = "下一页"; NP.Style["color"] = "#06C";
NP.NavigateUrl = "?page=" + (CurrentPage + 1);
pagediv.Controls.Add(NP);//将文字分页按钮装入pagediv容器
pagediv.Controls.Add(LP);
}
//绑定数据库******************************降序排列
int StartIndex = (CurrentPage - 1) * PageSize + 1;
rpt.DataSource = DT("select top " + PageSize + " * from "+table+" where "+id+" <= (select min("+id+") from (select top " + StartIndex + " " + id + " from "+table+" order by "+id+" desc)) order by "+id+" desc");
rpt.DataBind();
}
bll bl = new bll();
int RecordNo() { return bl.CountData("select count(b_id) from bianmin"); }//记录总数
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bl.Paging(RecordNo(), 2, 5, pagediv, Repeater1, "bianmin", "b_id");
}
}