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

repeater加载出现多个空行问题,在线等。。。。
请大家帮我看一下,这应该是个bug,找不到问题出在哪,很急啊,,,在线等。。。

我是bs项目,在一个页面上,有一个文本框是数据查询条件的txt,两个按钮btn1和btn2,两个repeater加载不同数据rpt1和rpt2,我不输入条件,点击btn1,rpt1加载数据成功,点击btn2,rpt2加载数据成功;我输入条件(rpt1和rpt2都满足)分别点击btn1和btn2,rpt1和rpt2加载数据也是正常的。。。

问题出现了:我输入一个条件(rpt1不满足,rpt2满足)的条件,点击btn1,rpt1没加载数据(正常),我点击btn2,rpt2加载正常,rpt1就会出现很多空行(空行的行数是上一次有数据的数据行数),,,我绑定rpt1的方法test1和绑定rpt2的方法是test2,两个独里的方法,我点击btn1调用test1,点击btn2调用test2,,,我调试了没有问题,,不知道空行是怎么出来的。。。

反之也是,输入条件(rpt1满足,rpt2不满足)我点击btn1,rpt1加载数据正常,点击btn2时,rpt2就不加载数据,这时候rpt1就会出现很多空行,,,


不知道我说明白没有,,,请大家帮我看看。。。

------解决方案--------------------
两个repeater是绑定的同一个数据源么?没有代码,不知道问题是否出在绑定上
------解决方案--------------------
击btn1,rpt1没加载数据(正常),我点击btn2,rpt2加载正常

这里给rpt1绑定下为空。就是直接给他个空数据源。就不会显示了
同理在rpt1正常时rpt2出现也这样做。、
------解决方案--------------------
DataTable dt=new DataTable();
repeater.DataSource = dt;
repeater.DataBind();
------解决方案--------------------
无论点击了那个按钮,两个repeater都应该重新绑定一次数据源
------解决方案--------------------
pageload中有写绑定代码吗。


------解决方案--------------------
如果写了一定要加在if(!ispostback){ } 里面
------解决方案--------------------
估计是你的代码 是数据源中的 数据 有--->没有 的时候出现了空行 去掉绑定数据源条件判断试一下

if (dt != null && dt.Rows.Count > 0)