2

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

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

这是评估声明:

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

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

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

1 回答 1

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属性。falseWebsitenull

于 2013-11-22T13:04:36.630 回答