我有一个我不时使用的递归函数 - 我想重新使用它来显示页面上的所有内容,可能隐藏在占位符/面板中(也许在某些点视图)
Public Shared Sub ShowAllPanels(ByVal parent As Control)
For Each c As Control In parent.Controls
If c.Controls.Count > 0 Then
ShowAllPanels(c)
Else
Select Case (c.GetType().ToString())
Case "System.Web.UI.WebControls.PlaceHolder"
CType(c, PlaceHolder).Visible = True
Case "System.Web.UI.WebControls.Panel"
CType(c, Panel).Visible = True
Case Else
System.Diagnostics.Debug.Write(c.GetType().ToString() + "")
End Select
End If
Next c
End Sub
我确信有一种更简洁的方法可以做到这一点,但我似乎无法轮询我的页面并找到面板或占位符。
我意识到我可以使用 trycast - 并使用 GetType 消除任何潜在的拼写错误 - 但调试返回的类型 - 不会出现类似于占位符的任何内容。
任何想法为什么?