使用PagedDataSource的自定义分页器的next和prev按钮
本文关键字:prev next 按钮 分页 PagedDataSource 自定义 使用 | 更新日期: 2023-09-27 18:19:09
我试图在我的自定义寻呼机上获得下一个和上一个按钮。这是我到目前为止所做的,除了需要下一个和上一个按钮外,它工作得很完美。
我做了什么
PagedDataSource page = new PagedDataSource();
page.AllowCustomPaging = true;
page.AllowPaging = true;
page.DataSource = query;
page.PageSize = 5;
QRep.DataSource = page;
QRep.DataBind();
*Qrep是一个asp.net重复器控件,*query是linq to sql查询的结果。
下面是我如何创建分页控件和分配的事件处理程序
private void CreatePagingControl()
{
for (int i = 0; i < (RowCount / 5) + 1; i++)
{
LinkButton lnk = new LinkButton();
lnk.Click += new EventHandler(lbl_Click);
lnk.ID = "lnkPage" + (i + 1).ToString();
lnk.Text = (i + 1).ToString();
plcPaging.Controls.Add(lnk);
Label spacer = new Label();
spacer.Text = " ";
plcPaging.Controls.Add(spacer);
}
}
void lbl_Click(object sender, EventArgs e)
{
LinkButton lnk = sender as LinkButton;
int currentPage = int.Parse(lnk.Text);
int take = currentPage * 5;
int skip = currentPage == 1 ? 0 : take - 5;
FetchData(take, skip);
}
行数存储如下
private int RowCount
{
get
{
return (int)ViewState["RowCount"];
}
set
{
ViewState["RowCount"] = value;
}
}
这是工作很好,除了它只显示页码,我想知道如何下一个和上一个控件可以与此集成。感谢任何帮助。
查看asp.net 3.5的开源分页控件:
http://www.codeproject.com/KB/custom-controls/ASPNETPagerControl.aspx
编辑
还有另一个asp.net分页控件,源代码在这里:
http://aspnetpager.codeplex.com/