如何设置' if' asp Repeater ItemTemplate中的语句,以确定DataItem列表属性是否为空?

时间:2015-03-16 17:22:10

标签: html asp.net html-lists repeater itemtemplate

我有一个显示两级列表的转发器:

<ul>
    <asp:Repeater ID="MenuRepeater" runat="server" OnItemDataBound="MenuRepeater_ItemDataBound">
        <ItemTemplate>
            <li <%# (Container.DataItem as LinkData).Class %>>
                <asp:HyperLink ID="MenuHyperLink" runat="server">

                </asp:HyperLink>
                    <ul>
                    <asp:Repeater DataSource='<%# DataBinder.Eval(Container.DataItem, "SubLinks") %>' runat="server">
                        <ItemTemplate>
                            <li <%# (Container.DataItem as LinkData).Class %>>
                                <a href='<%# DataBinder.Eval(Container.DataItem, "Link") %>'><%# DataBinder.Eval(Container.DataItem, "Text") %></a>
                            </li>
                        </ItemTemplate>

                    </asp:Repeater>
                </ul>
            </li>
        </ItemTemplate>
    </asp:Repeater>

</ul>

这很好用,但我想让嵌套列表可扩展和可隐藏。我想在外部列表项中添加一个图标,当&#34; SubLinks&#34;不是一个空列表,但我不知道如何在转发器中执行该条件语句。

我以为我可以做这样的事,但这不起作用。

<%# (DataBinder.Eval(Container.DataItem, "SubLinks").Any() ?? "<i class="fa fa-plus"></i>") %>

1 个答案:

答案 0 :(得分:0)

试试这个

<% if (true) %>
 <%{%>
    <li >  ---------</li>
<%} else
  {%>
    <li >  ---------</li>
<%}%>