【发布时间】:2017-01-19 10:31:13
【问题描述】:
我想在 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);
}
我在这里使用我的链接按钮
【问题讨论】:
-
只是您正在对页码进行分页,因此逻辑将与您对实际数据进行分页相同。
-
请记住,每次加载 GridView 时,仍会从数据库/视图状态中检索所有 70.000 多行。这意味着仅显示 10 行会产生大量额外流量。开始使用 Ajax 检索页面数据集。
-
@VDWWD。不,不是每次都检索。我在我的 Sql 服务器中使用 ROW_NUM(),我只在页面索引和页面大小之间加载
标签: c# asp.net gridview custompaging