public static Control FindControlRecursively(string controlID, ControlCollection controls) { if (controlID == null || controls == null) return null; foreach (Control c in controls) { if (c.ID == controlID) return c; if (c.HasControls()) { Control inner = FindControlRecursively(controlID, c.Controls); if (inner != null) return inner; } } return null; } }