请考虑以下代码段:

<asp:TemplateField HeaderText="Item Data">
    <ItemTemplate>
        <%# DataBinder.Eval(Container.DataItem, "ItemData1") %>
        <br />&nbsp;&nbsp;
        <%# DataBinder.Eval(Container.DataItem, "ItemData2") %>
    </ItemTemplate>
</asp:TemplateField>

我需要重构它,以便如果ItemData2为空,<br />&nbsp;&nbsp;不会呈现
我不确定我怎样才能做到这一点。
编辑:我试图添加如下条件:
<% if(DataBinder.Eval(Container.DataItem, "ItemData2") != null) { %>
    <br />&nbsp;&nbsp;
    <%# DataBinder.Eval(Container.DataItem, "ItemData2") %>
<% } %>

它不起作用,看起来真的很难看!

最佳答案

在DataBinder.Eval中,您可以通过下面这样的条件,这对您很有用。

<%#( DataBinder.Eval(Container.DataItem,"Item1)==null ?DataBinder.Eval(Container.DataItem,"Item1"):
DataBinder.Eval(Container.DataItem,"Item2"))%>

09-25 22:25