如何从代码隐藏 (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,也许还有另一种设置其页码的方法。

干杯

如何从代码隐藏 (c#) 更改 asp:ListView 数据页

我发现了一个类似于你的场景(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();
    }
}

希望有帮助。