使用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 = "&nbsp;";
            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;
        }
    }

这是工作很好,除了它只显示页码,我想知道如何下一个和上一个控件可以与此集成。感谢任何帮助。

使用PagedDataSource的自定义分页器的next和prev按钮

查看asp.net 3.5的开源分页控件:
http://www.codeproject.com/KB/custom-controls/ASPNETPagerControl.aspx

编辑

还有另一个asp.net分页控件,源代码在这里:
http://aspnetpager.codeplex.com/