Repeater为空时显示处理

Repeater 默认没有EmptyTemplate 试了试用 自定义控件 重写 databind觉得太繁 无意中从一个老外的博客上发现了一个近似无敌的方法:

<asp:Repeater ID="RptrA" runat="server">      
     
<ItemTemplate>      
     
<!-- Add your Item Template Here -->      
     
</ItemTemplate>      
     
<FooterTemplate>      
     
<asp:Label ID="lblEmpty"     
     
Text="no result" runat="server"     
     
Visible='<%#bool.Parse((RptrA.Items.Count==0).ToString())%>'>      
     
</asp:Label>      
     
</FooterTemplate>      
     
</asp:Repeater>  

//绑定Repeater的数据时候要注意
List<Group_worksData> list = new Group_works().SelectTop5(Mid);
//当list集合为Null的时候 要实例化一下,因为null值时候Repeater是不会加载FooterTemplate的
if (list == null)
{
list = new List<Group_worksData>();
}

//注意:如果得你为空 提示信息 加载到了Repeater
的上方,那只要在将信息放到表格的<td></td>中就没问题了.......
RepeaterWorks.DataSource = list;
RepeaterWorks.DataBind();

示例:

    <asp:Repeater ID="ItemList" runat="server" OnItemCommand="ItemList_ItemCommand">
<HeaderTemplate>
<table border="0" cellpadding="0" cellspacing="1" class="mainTable">
<tr>
<td width="25%" class="title">栏目ID</td>
<td width="25%" class="title">栏目名称</td>
<td width="30%" class="title">栏目排序</td>
<td width="20%" class="title">操作</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td width="25%" align="center" class="tdbg"><%#Eval("ItemID") %></td>
<td width="25%" align="center" class="tdbg"><%#Eval("ItemName") %></td>
<td width="30%" align="center" class="tdbg"><%#Eval("ItemOrder") %></td>
<td width="20%" align="center" class="tdbg"><asp:ImageButton ID="EditImg" runat="server" CommandArgument='<%#Eval("ItemID")%>' CommandName="Edit" ImageUrl="images/icon_edit.gif" AlternateText="编辑"/>
&nbsp;
<asp:ImageButton ID="DelImg" runat="server" CommandArgument='<%#Eval("ItemID") %>' OnClientClick="return confirm('确认要删除吗?')" CommandName="Del" ImageUrl="images/no.gif" AlternateText="删除" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
<tr runat="server" visible='<%#bool.Parse((ItemList.Items.Count==0).ToString())%>'>
<td width="25%" class="tdbg" colspan="4" align="center">暂无内容</td>
</tr>
</table>
</FooterTemplate>
</asp:Repeater>
原文地址:https://www.cnblogs.com/superfeeling/p/1846989.html