日期:2014-05-17  浏览次数:20538 次

Listview数据绑定延迟刷新的奇怪问题。
以前都没遇到过这个问题。
添加数据后,重新绑定 数据获取。
总记录数已显示增加。比如原来2条数据,现在变成3条。
但是列表数据却没有更新。
如果再添加一条数据,之前添加的数据会显示出来,但是最新添加的同样不显示。

但是删除数据时候却能正常显示数据刷新。

目前的做法只能连续绑定2次数据,这样添加的时候能正常显示。但是这不是根本的解决办法。

没用使用ajax等控件。

------解决方案--------------------
能否贴出部分绑定代码呢?

这条数据可能被删除,或者绑定的数据源有修改.
------解决方案--------------------
楼主看一下这里:
if (Request.QueryString["W"] != null) //判断查询条件 
{
int i = int.Parse(Request.QueryString["W"]);
strWhere = "CateT_ID = " + i;
if (i > 0)
{
DDL_Select.SelectedValue = i.ToString();//设定分类选择
}
}
//当它不为null时候才执行,strWhere 这个才有数据哦!你重新获取数据的时候,这个是空的
------解决方案--------------------
ds = BLL.PageList.GetPageList(tblName, "*", this.AspNetPager1.StartRecordIndex, this.AspNetPager1.EndRecordIndex, strWhere, "CateT_ID,PU_ID", 0, 0);
this.AspNetPager1.RecordCount = BLL.PageList.getCount(tblName, strWhere);//获取查询记录总数

应该先设定RecordCount属性后再取数据,因为StartRecordIndex和EndRecordIndex这些属性值都是通过RecordCount计算出来的,你现在的代码中,StartRecordIndex和EndRecordIndex应该是上次的数据而不是最新的,你可以设定断点调试一下这段代码,看看StartRecordIndex、EndRecordIndex和我RecordCount的值各是多少?