【问题标题】:How to hide a div in the Repeater如何在中继器中隐藏 div
【发布时间】:2017-03-31 10:35:14
【问题描述】:

我一直在开发 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;
    }      

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

【问题讨论】:

  • 您的示例中有孩子,这就是您的 css 不起作用的原因。另外,如果它是空的,为什么要隐藏它?它在技术上是空的,不会显示任何内容。
  • 你能给出一些代码吗?我想隐藏这个 div,因为我在第一个 div 中的复选框之间有一个空行,类 dnnFormLabel。
  • visible 怎么样?

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


【解决方案1】:

div里面应该什么都没有(包括\n),比如:

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

然后.dnnFormItem:empty可以坦克效果。

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

不会工作

【讨论】:

  • 谢谢,但我需要一些可以工作的代码 :) 你能帮忙吗?
【解决方案2】:

您可以为此使用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>

【讨论】:

  • 非常感谢,有帮助:)
猜你喜欢
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-04
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多