Want to loop through all the user controls that exist on the page and get their IDs. How do I do it?
To get each User Control, you'd have to test the Type of the control:
EDIT: I modified my example to go through all controls recursively:
Method
public void GetUserControls(ControlCollection controls)
{
foreach (Control ctl in controls)
{
if (ctl is UserControl)
{
// Do whatever.
}
if (ctl.Controls.Count > 0)
GetUserControls(ctl.Controls);
}
}
Called
GetUserControls(Page.Controls);
This should work:
var listOfUserControls = GetUserControls(Page);
...
public List<UserControl> GetUserControls(Control ctrl)
{
var uCtrls = new List<UserControl>();
foreach (Control child in ctrl.Controls) {
if (child is UserControl) uCtrls.Add((UserControl)child);
uCtrls.AddRange(GetUserControls(child);
}
return uCtrls;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With