如何在某个div标签中创建不可见的ASP.NET控件?

时间:2014-08-31 17:18:57

标签: asp.net

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

3 个答案:

答案 0 :(得分:1)

您可以将div放入

ASP.NET Panel Control

然后你可以成功

  

pnlName.Visible = TRUE;或pnlName.Visible = false;

什么时候你想要或 你可以使用Div与

  

RUNAT = “服务器”

属性,以便在代码页中可以访问它 他们可以像

那样做
  

divname.Visible = TRUE; divname.Visible = FALSE;

答案 1 :(得分:1)

您可以使用ASP.NET Place holderASP.NET Panel控件来实现这些目的。

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

答案 2 :(得分:1)

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

e.g。

<强>标记:

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

代码背后:

teacherDiv.Visible = false;

提醒一词,使服务器端控件不可见意味着它不会出现在生成的html文档中。因此,如果您尝试使用javascript document.getElementById("<%= teacherDiv.ClientId %>")找到它,则会收到错误。