c# - ListView + DataPager 控件不维护状态

标签 c# .net asp.net listview viewstate

我有一个 ListView 控件和一个应用于它的 DataPager 控件(DataPager'PagedControlID 已设置到ListView'ID)。

碰巧我以这种方式将 ListView 绑定(bind)到我的数据源(数组):

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();

}

这是为什么呢? 我无法再次加载所有内容,这是我真正想避免的事情......

谢谢

注意:即使在 ListViewDataPager 中将 EnableViewState 设置为 true 也不会产生任何影响。

最佳答案

看看这篇博文:ASP.NET DataPager not paging after first PostBack

您还可以尝试以下几项操作:

OnPreRender 事件期间的数据绑定(bind)

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()
}

关于c# - ListView + DataPager 控件不维护状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6416331/

相关文章:

c# - 上传时从视频中抓取缩略图。 (Azure Blob 存储)

c# - 将 C# 转换为 Ruby - HMAC SHA256 函数

c# - 有没有一种有效的方法可以找到集合 S 中元素的所有有序排列,这些元素加起来等于 N?

.net - Win 2003 上的 DB2 Client v9.5 需要很长时间才能建立连接

asp.net 允许未经授权查看单个页面

c# - SimpleMembershipProvider - 密码加密

c# - 如何通过 C# 将字符串传递给批处理文件以及批处理文件如何接受字符串参数?

c# - ASP .NET 系统设计建议。

c# - 如何将 MVC/C# 对象输出到 Javascript 对象?

asp.net - session 状态阻止并发处理的异步 ajax 调用