如果DataBinder.Eval(Container.DataItem,“someValue”)== 0,请不要呈现HTML元素

时间:2013-11-22 12:43:45

标签: asp.net asprepeater

我有一个<asp:repeater>里面我正在渲染一个有几行的表。 每行 - 对应不同的值。

问题:如果此值为空,如何“跳过”该行?

这里是评估声明:

<%# DataBinder.Eval(Container.DataItem, "Website") == ""? "" : /*render element*/ %>

这里是我想在case语句中呈现的元素,如果为false:

<tr>
    <td><span>Website address:</span></td>
    <td>
        <p><a href="<%#DataBinder.Eval(Container.DataItem, "Website") %>" class="red-link"><%#DataBinder.Eval(Container.DataItem, "Website") %></a></p>
    </td>
</tr>

1 个答案:

答案 0 :(得分:1)

试试这个:

<asp:Repeater runat="server" id="myRepeater">
    <ItemTemplate>
        <tr runat="server" 
           visible='<%#String.Format("{0}",DataBinder.Eval(Container.DataItem, "Website"))!="" %>'>
            <td><span>Website address:</span></td>
            <td>
                <p><a href='<%#DataBinder.Eval(Container.DataItem, "Website") %>" 
                    class="red-link'><%#DataBinder.Eval(Container.DataItem, "Website") %></a></p>
            </td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

visible为空或false时,它会将行的Website属性设置为null