私は時々使用する小さな再帰関数を持っています - これを再利用してページ上のすべてを表示したいのですが、プレースホルダー/パネル内に隠されている可能性があります (そしておそらくいくつかのポイントビューで)
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
これを行うためのより簡潔な方法があると確信していますが、ページをポーリングしてパネルまたはプレースホルダーを見つけることができないようです。
トライキャストを使用して、GetType の潜在的なタイプミスを取り除くことができることに気付きましたが、返された型をデバッグすると、プレースホルダーに似たものは何も表示されません。
理由はありますか?