未找到行时在转发器中显示消息

Mok*_*sha 5 c# asp.net

我正在使用ASP.NET转发器,当查询从数据库返回0行时,我想显示No Row Found消息.我在GridView中知道它.

问候

jes*_*vin 12

如果你有一个HeaderTemplate或一个FooterTemplate定义,你可以添加任何HtmlControlServerControl它们中的任内,然后编程显示/隐藏在代码隐藏.

<asp:Repeater id="Repeater1" runat="server" OnItemDataBound="">
 <HeaderTemplate>
  <h1>My Repeater Data</h1>
  <div id="NoRecords" runat="server" visible="false">
    No records are available.
  </div>
 </HeaderTemplate>
 <ItemTemplate>
 ...
 </ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

这是背后的代码

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (Repeater1.Items.Count < 1)
    {
        if (e.Item.ItemType == ListItemType.Header)
        {
            HtmlGenericControl noRecordsDiv = (e.Item.FindControl("NoRecords") as HtmlGenericControl);
            if (noRecordsDiv != null) {
              noRecordsDiv.Visible = true;
            } 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)