本次分页适合所有ASP.net数据绑定控件: 如:GridView DataList 等等
下面例子以DataList 为例
说明:
IList 泛型集合
ViewState["hotelList2"] 当前页的数据
this.DataListHotelList 当前页的DataList 控件
Databind() 这个方法在页面首次加载时调用
Databind(IList hf) 这个方法一般情况下 根据需求不同进行相关的数据绑定
1.前台 .aspx
BorderStyle="Solid" BorderWidth="1px" CssClass="anniu" Font-Size="12px" ForeColor="Black"
Font-Bold="False" Height="16px" Width="57px" OnClick="btnPrev_Click" />
BorderStyle="Solid" BorderWidth="1px" CssClass="anniu" Font-Size="12px" ForeColor="Black"
Font-Bold="False" Height="16px" Width="57px" OnClick="btnNext_Click" />
2.后台 .cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//首次加载,赋初值
ViewState["Page"] = 0;
Databind()//绑定所有信息列表
}
this.lalShowText.Text = "";//清空提示信息
}
//进行分页数据绑定
private void Databind()
{
try
{
PagedDataSource pdslvyou = new PagedDataSource();
//对PagedDataSource 对象的相关属性赋值
IList hfList = ViewState["hotelList2"] as IList;
pdslvyou.DataSource = hfList;
pdslvyou.AllowPaging = true;
pdslvyou.PageSize = 8;
pdslvyou.CurrentPageIndex = Pager;
lblCurrentPage.Text = "第 " + (pdslvyou.CurrentPageIndex + 1).ToString() + " 页 共 " + pdslvyou.PageCount.ToString() + " 页";
SetEnable(pdslvyou);
//把PagedDataSource 对象赋给DataList控件
this.DataListHotelList.DataSource = pdslvyou;
this.DataListHotelList.DataBind();
}
catch (Exception)
{ }
}
//传入一个集合 进行分页数据绑定
private void Databind(IList hf)
{
try
{
PagedDataSource pdslvyou = new PagedDataSource();
//对PagedDataSource 对象的相关属性赋值
IList hfList = hf;
pdslvyou.DataSource = hfList;
pdslvyou.AllowPaging = true;
pdslvyou.PageSize = 8;
pdslvyou.CurrentPageIndex = Pager;
lblCurrentPage.Text = "第 " + (pdslvyou.CurrentPageIndex + 1).ToString() + " 页 共 " + pdslvyou.PageCount.ToString() + " 页";
SetEnable(pdslvyou);
//把PagedDataSource 对象赋给DataList控件
this.DataListHotelList.DataSource = pdslvyou;
this.DataListHotelList.DataBind();
ViewState.Add("hotelList2", hfList);
}
catch (Exception)
{ }
}
//翻页
private void SetEnable(PagedDataSource pds)
{
btnPrev.Enabled = true;
btnNext.Enabled = true;
if (pds.IsFirstPage)
btnPrev.Enabled = false;
if (pds.IsLastPage)
btnNext.Enabled = false;
}
//上一页
protected void btnPrev_Click(object sender, EventArgs e)
{
Pager--;
Databind();
}
//下一页
protected void btnNext_Click(object sender, EventArgs e)
{
Pager++;
Databind();
}
/// /// 当前页数 /// private int Pager { get { return (int)ViewState["Page"]; } set { ViewState["Page"] = value; } }