【发布时间】:2023-03-22 01:36:01
【问题描述】:
我正在使用 pageddatasource 为我的转发器创建下一个/上一个函数。我使用以下代码在我的 oninit 中动态添加了链接按钮控件。
LinkButton lnkNext = new LinkButton();
lnkNext.Text = "Next";
lnkNext.Click += new EventHandler(NextPage);
if (currentPage != objPagedDataSource.PageCount)
{
pnlMain.Controls.Add(lnkNext);
}
所以在我最初的 page_load 中,下一个链接可以正常显示。我的 objPagedDataSource 中有 5 页。 currentPage 变量为 1。
“NextPage”事件处理程序如下所示
public void NextPage(object sender, EventArgs e)
{
if (HttpContext.Current.Request.Cookies["PageNum"] == null)
{
HttpCookie cookie = new HttpCookie("PageNum");
cookie.Value = "1";
}
else
{
HttpCookie cookie = HttpContext.Current.Request.Cookies["PageNum"];
cookie.Value = (Convert.ToInt32(cookie.Value) + 1).ToString();
}
this.BindRepeater();
}
所以我增加了用于跟踪页码的 cookie,然后重新绑定转发器。
这里是主要问题。我第一次单击下一步时,它可以正常工作,它进入第 2 页没有任何问题。在第 2 页上时,我单击“下一步”,它会返回到第 1 页。似乎“下一个”事件未正确连接。不知道为什么,有什么想法吗?
【问题讨论】:
-
当您添加该控件时,您是否在 IsPostBack 检查中执行此操作? if (!IsPostBack) { }
-
不做回发检查