Не отображать HTML-элемент, если DataBinder.Eval(Container.DataItem, "someValue") == 0

У меня есть <asp:repeater> внутри которого я рендеринг таблицы с несколькими строками. Каждая строка - соответствует разному значению.

Вопрос: как "пропустить" строку, если это значение пусто?

вот оценочное заявление:

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

и вот элемент, который я хочу визуализировать в случае утверждения, если ложь:

<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 ответ

Решение

Попробуй это:

<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,

Другие вопросы по тегам