0

我想在 asp.net 中为我的 gridview 进行自定义分页,因为我的数据库中有很多信息。我的问题是当我生成链接按钮时。我把它们放在一个面板中,但我的页面有 7000 多个按钮。当我将它们添加到我的面板中时,它会将它们全部显示在我页面的 10 行中。我只需要显示 10 个,当我按下它们中的最后一个来显示其他 10 个按钮时。我的代码:

for (int index = 0; index < nrPages; index++)
                {
                    int pageNo = index + 1;
                    LinkButton lnk = new LinkButton();
                    lnk.Click += new EventHandler(PageChange);

                    lnk.ID = "PageLink" + pageNo.ToString();
                    lnk.CommandName = "Page";
                    lnk.Text = " " + pageNo.ToString() + " ";
                    lnk.CommandArgument = index.ToString();

                    PanelPager.Controls.Add(lnk);
                }

public void PageChange(object sender, EventArgs e)
        {
            int pageIndex = int.Parse((sender as LinkButton).CommandArgument);
            object dataSource = GetDataSource(OwnerId, null, pageIndex);
            PushData(dataSource);

        }

在这里我使用我的链接按钮

4

1 回答 1

0
int nrPages = 7000;

public void RenderPageNumbers(int nextPageNo)
{
    int pageSize = 10;
    int totalPages = nrPages / pageSize;
    var startIndex = ((nextPageNo -1) * pageSize ) + 1
    for (int index = startIndex; index < startIndex + pageSize; index++)
    {
        int pageNo = index;
        LinkButton lnk = new LinkButton();
        lnk.Click += new EventHandler(PageChange);

        lnk.ID = "PageLink" + pageNo.ToString();
        lnk.CommandName = "Page";
        lnk.Text = " " + pageNo.ToString() + " ";
        lnk.CommandArgument = index.ToString();

        PanelPager.Controls.Add(lnk);
    }
}
于 2017-01-19T10:39:57.803 回答