Not sure why it won't outside the list, but in the list you likely need to do a recursive search. Also you will need to be able to collect more than one label. Here's a snippet of code where I am doing something similar. -
Protected Function FindInputControls(ByVal objContainer As System.Web.UI.Control) As ArrayList
Dim objChildControl As System.Web.UI.Control
Dim foundControls As New ArrayList
For Each objChildControl In objContainer.Controls
' check if control is a input control
If TypeOf objChildControl Is StratagemApp.UI.Controls.Input Then
foundControls.Add(objChildControl)
End If
If objChildControl.HasControls Then
Dim objFoundControls As ArrayList = FindInputControls(objChildControl)
If Not (objFoundControls Is Nothing) Then
Dim c As System.Web.UI.Control
For Each c In objFoundControls
foundControls.Add(c)
Next
End If
End If
Next
Return foundControls
End Function
You'll need to replace the "input" object with a "label". Also if you have more than one label you'll need to check the ID. When it returns, the arraylist will hopfully contain the labels you're seeking.
Hope it helps....