ListView+DataPager控件不维护状态
本文关键字:状态 维护 控件 ListView+DataPager | 更新日期: 2023-09-27 17:59:35
我有一个ListView
控件和一个应用于它的DataPager
控件(DataPager
'PagedControlID
设置为ListView
'ID
)。
碰巧我以这种方式将ListView
绑定到我的数据源(一个数组):
protected void Page_Load(object sender, EventArgs e) {
if (!this.IsPostBack) {
MyType[] x = ...; /* Returns an array of MyType */
this.MyLV_ListView.DataSource = x;
this.MyLV_ListView.DataBind();
}
}
我开始并转到页面,它页面!但当我选择另一个页面时,所有内容都是空的,我的意思是有一定的数量或条目,但重复的区域是空的。
如果我取消后返回条件,这是可以的!
protected void Page_Load(object sender, EventArgs e) {
MyType[] x = ...; /* Returns an array of MyType */
this.MyLV_ListView.DataSource = x;
this.MyLV_ListView.DataBind();
}
为什么会这样?我无法再次加载所有内容,这是我非常想避免的事情。。。。
谢谢
注意:即使在ListView
和DataPager
中将EnableViewState
设置为true
也不会影响任何内容。
看看这篇博客文章:ASP.NET DataPager在第一次PostBack 之后没有分页
这里还有一些你可以尝试的东西:
OnPreRender事件期间的数据绑定
protected override void OnPreRender(EventArgs e)
{
this.MyLV_ListView.DataBind();
base.OnPreRender(e);
}
尝试处理ListView的PagePropertiesChanged事件
MyLV_ListView_PagePropertiesChanged(object sender, EventArgs e)
{
this.MyLV_ListView.DataSource=someDatasource;
this.MyLV_ListView.DataBind()
}