非常简单的问题,但我遇到了很多问题。
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
。是否有其他方式可以访问dataPager
中的listView
,也可以采用其他方式来设置其页码。
干杯
答案 0 :(得分:0)
我发现了一个类似于你的场景(http://www.4guysfromrolla.com/articles/021308-1.aspx),并且我验证了示例应用程序在运行时调用SetPageProperties()。
务必更改最后一个" databind" SetPageProperties中的参数调用从False到True:
pager.SetPageProperties((int)Session["PageNumber"] * pager.PageSize, pager.MaximumRows, true);
然后确保您在PageLoad
中调用restorePagerNumberprotected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack) {
restorePagerNumber();
}
}
希望有所帮助。