如何从代码隐藏 (c#) 更改 asp:ListView 数据页
本文关键字:asp 更改 ListView 数据 代码 隐藏 | 更新日期: 2023-09-27 18:31:55
非常简单的问题,但我遇到了很多问题。
protected void restorePagerNumber()
{
if (Session["PageNumber"] != null)
{
System.Diagnostics.Debug.Write(Session["PageNumber"]);
DataPager pager = searchListView.FindControl("searchDataPager") as DataPager;
pager.SetPageProperties((int)Session["PageNumber"] * pager.PageSize, pager.MaximumRows, false);
}
}
这就是我目前拥有的,我尝试在数据绑定之前使用它,在数据绑定之后,它们似乎都不起作用。创建新对象后,我实际上可以更改pager
值吗?听起来不合逻辑,但如果没有它,我无法访问datapager
。有没有另一种方法可以访问listView
中的dataPager
,也许还有另一种设置其页码的方法。
干杯
我发现了一个类似于你的场景(https://web.archive.org/web/20210125144848/http://www.4guysfromrolla.com/articles/021308-1.aspx),我验证了示例应用程序在运行时调用 SetPageProperties() 的工作。
请务必将 SetPageProperties 调用中的最后一个"databind"参数从 False 更改为 True:
pager.SetPageProperties((int)Session["PageNumber"] * pager.PageSize, pager.MaximumRows, true);
然后确保您在页面加载时调用恢复寻呼页机号码
protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack) {
restorePagerNumber();
}
}
希望有帮助。