Question

I have a <asp:repeater> inside which i'm rendering a table with a few rows. Each row - corresponding to a different value.

Question: how to "skip" the row, in case this value is empty?

here is evaluation statement:

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

and here is element i want to render in case statement if 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>
Was it helpful?

Solution

Try this:

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

It will set the row's visible attribute to false when the Website is empty or null.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top