我一直在使用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")%> <%#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;
}
但它不起作用。我怎样才能做到这一点?提前感谢您的帮助。
答案 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")%> <%#Eval("naam_tocht")%></asp:Label></span></label>
</div>
<asp:TextBox runat="server" TextMode="MultiLine" ID="txtSubQuestionBox"></asp:TextBox>
<%#Eval("naam_tocht")%>
</asp:Panel>