2

私は時々使用する小さな再帰関数を持っています - これを再利用してページ上のすべてを表示したいのですが、プレースホルダー/パネル内に隠されている可能性があります (そしておそらくいくつかのポイントビューで)

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 の潜在的なタイプミスを取り除くことができることに気付きましたが、返された型をデバッグすると、プレースホルダーに似たものは何も表示されません。

理由はありますか?

4

1 に答える 1