I\'m using ascx and I need to iterate through all of the controls and selects each that have cssClass attribute set to \'required\'.
I have the following code:
CssClass property is a member of the WebControl class.
You have to check if the control is a webcontrol, or, if it's only a control, you can get the attribute "class" in the attributes collection.
for example, you can do :
List wcs = new List();
GetControlList(Page.Controls, wcs)
foreach (WebControl childControl in wcs)
{
if(childControl.CssClass == "required") {
// process the control
}
}
You also have to iterate recursively. Code found here : Using C# to recursively get a collection of controls from a controlcollection :
private void GetControlList(ControlCollection controlCollection, List resultCollection)
where T : Control
{
foreach (Control control in controlCollection)
{
//if (control.GetType() == typeof(T))
if (control is T) // This is cleaner
resultCollection.Add((T)control);
if (control.HasControls())
GetControlList(control.Controls, resultCollection);
}
}