我想大部分人都知道Repeater没有数据的时候显示表头,就是在<FooterTemplate>加个lablel,通过Items.Count==0来控制label的显示和隐藏。例如:
<FooterTemplate>
<asp:Label ID="lblEmpty" Text=" 暂无数据" runat="server" Visible='<%#RepeaterWorks.Items.Count==0%>'></asp:Label>
</FooterTemplate>
我也碰到了这也的问题,但是用这个老是不行,后来才知道是后台往Repeater绑定数据的时候出问题了。后台绑定数据:
List<对象> list = GetData();
if(list!=null)
{
rpt.DataSource=list;
rpt.DataBind();
}
else
{
list = new List<对象>();
rpt.DataSource=list;
rpt.DataBind();
}
这也绑定数据,你在前台写上rpt.Items.Count==0才可以控制显示隐藏"暂无数据"和Repeater的表头。原因就是list为null的时候Repeater是不会加载FooterTemplate的。
希望对大家有帮助,我也是纠结了老半天,不知道什么原因。。。