【问题标题】:How to make invisible ASP.NET controls within a certain div tag?如何在某个 div 标签内制作不可见的 ASP.NET 控件?
【发布时间】:2023-03-09 22:07:02
【问题描述】:

我有一个下拉“ddl_group”列表,后跟两个标签,其中包含与第一个选择的项目相关的控件。 ddl_group 中的一项是 teacher,另一项是 student。 默认情况下,我已将两个 div 标签内的所有控件设置为不可见。只有在 ddl_group 中选择了与它们相关的组时,它们才会显示。 想象一下,我在 ddl_group 中选择了学生。接下来,div.stdInfo 中的控件开始一个接一个地出现,以响应对 div.stdInfo 中的控件进行选择的用户。现在用户可能想要选择另一个组,即来自 ddl_group 的教师。因此,我需要再次使 div.stdInfo 中的所有控件不可见,并使 div.teacherInfo 中的控件可见。
是否可以在一个位置使某个标签(例如 div 标签)内的所有 asp.net 控件不可见或可见,而不是单独设置它们?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    你可以把你的div放在

    ASP.NET Panel Control

    那你就可以了

    pnlName.Visible=true;或 pnlName.Visible=false;

    当你想要或 您可以将 Div 与

    一起使用

    runat="服务器"

    属性,以便它可以在代码页中访问 他们你可以这样做

    divname.Visible=true; divname.Visible=false;

    【讨论】:

      【解决方案2】:

      您可以将ASP.NET Place holderASP.NET Panel 控件用于这些目的。

      1. 使用占位符或面板包装您的内容。
      2. 在下拉菜单的 SelectedIndexChanged 事件中,您可以更改此 PlaceHolder 或面板的可见性。

      【讨论】:

        【解决方案3】:

        如果您将 runat 标记和 ID 标记添加到您的 divs,这将使它们可以通过服务器端代码访问。我更喜欢这种方式,因为我根本不必弄乱我的 css。

        例如

        标记:

        <div class='teacherinfo' ID='teacherDiv' runat='server'>
        .
        .
        .
        .
        .
        </div>
        

        后面的代码:

        teacherDiv.Visible = false;
        

        一句警告,使服务器端控件不可见意味着它不会出现在生成的 html 文档中。因此,如果您尝试使用 javascript document.getElementById("&lt;%= teacherDiv.ClientId %&gt;") 查找它,则会收到错误消息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-10-16
          • 2021-08-07
          • 2023-04-05
          • 1970-01-01
          • 2011-12-28
          • 2012-03-10
          • 2012-12-20
          相关资源
          最近更新 更多