以前总是觉得repeter分页还要调用存储过程,比起gridview麻烦多了。现在又办法做已很很简单实用的repeter分页!
前台:
后台:
protected void BindProductDetail()
{
adminbll ad = new adminbll();
string Pro_Type = "";
int index = Convert.ToInt32(this.labPage.Text);
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ad.getnewsinfo().DefaultView;
pds.AllowPaging = true;
pds.PageSize = 15;
pds.CurrentPageIndex = index - 1;
this.lnkbtnFront.Enabled = true;
this.lnkbtnNext.Enabled = true;
this.lnkbtnLast.Enabled = true;
this.lnkbtnFirst.Enabled = true;
if (index == 1)
{
this.lnkbtnFirst.Enabled = false;//不显示第一页按钮
this.lnkbtnFront.Enabled = false;//不显示上一页按钮
}
if (index == pds.PageCount)
{
this.lnkbtnNext.Enabled = false;//不显示下一页
this.lnkbtnLast.Enabled = false;//不显示最后一页
}
labBackPage.Text = pds.PageCount.ToString();
this.Repeater1.DataSource = pds;
this.Repeater1.DataBind();
}
/// <summary>
/// 首页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lnkbtnFirst_Click(object sender, EventArgs e)
{
labPage.Text = "1";//设置当前页为1
BindProductDetail();//调用自定义方法重新绑定数据
}
/// <summary>
/// 下一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lnkbtnNext_Click(object sender, EventArgs e)
{ //设置当前页加1
labPage.Text = Convert.ToString(Convert.ToInt32(labPage.Text) + 1);
BindProductDetail();//调用自定义方法重新绑定数据
}
/// <summary>
/// 末页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lnkbtnLast_Click(object sender, EventArgs e)
{ //设置当前页为最后一页
labPage.Text = labBackPage.Text;
BindProductDetail();//调用自定义方法重新绑定数据
}
/// <summary>
/// 上一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lnkbtnFront_Click(object sender, EventArgs e)
{ //设置当前页减1
labPage.Text = Convert.ToString(Convert.ToInt32(labPage.Text) - 1);
BindProductDetail();//调用自定义方法重新绑定数据
}
很简单的就分页了!!!