如何隐藏Repeater中的div

时间:2016-11-17 01:59:56

标签: jquery html css asp.net vb.net

我一直在使用VB ASP.NET站点,Visual Studio 2012 Express for Web。我有一个带有两个div标签的转发器和css类.dnnFormLabel和.dnnFormItem。以下是Repeater中的部分代码:

<div class="dnnFormLabel dnnFormShort">
    <asp:CheckBox runat="server" ID="chkSubQuestionBox" Text='<%#Eval("Label")%>' />
</div>
<div class="dnnFormItem dnnFormShort">
    <div>
        <label><span>
            <asp:Label ID="lblSubQuestionLabel" runat="server"><%#Eval("Prefix")%>&nbsp;<%#Eval("Label")%></asp:Label></span></label></div>
    <asp:TextBox runat="server" TextMode="MultiLine" ID="txtSubQuestionBox"></asp:TextBox>
    <%#Eval("description")%>
</div>

我想在没有任何内容的情况下用类.dnnFormItem隐藏div。为此,我尝试了:

.dnnFormItem:empty {
       display: none !important;
    }      

但它不起作用。我怎样才能做到这一点?提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

div中没有​​任何内容(包括\ n),例如:

<div class="dnnFormItem dnnFormShort"></div>

然后.dnnFormItem:空罐子效果。

<div class="dnnFormItem dnnFormShort">
</div>

不起作用

答案 1 :(得分:1)

您可以使用Panel并根据数据集中的列值设置Visible属性。

<asp:Panel ID="Panel1" runat="server" CssClass="dnnFormItem dnnFormShort" Visible='<%# !string.IsNullOrEmpty(Eval("columnToValidate").ToString()) %>'>
    <div>
        <label>
            <span>
                <asp:Label ID="lblSubQuestionLabel" runat="server"><%#Eval("tocht_id")%>&nbsp;<%#Eval("naam_tocht")%></asp:Label></span></label>
    </div>
    <asp:TextBox runat="server" TextMode="MultiLine" ID="txtSubQuestionBox"></asp:TextBox>
    <%#Eval("naam_tocht")%>
</asp:Panel>