DevTips.NET

Get control by name (ASP.NET WebForms)

Om een Control te krijgen via zijn naam is het handig om dit recursief op te lossen aangezien een WebForm uit vele container controls (of parent controls) kan bestaan.

 

ASP.NET WebForms

Code

public static System.Web.UI.Control GetControlByName(System.Web.UI.Control parentControl, string name)
        {
            System.Web.UI.Control foundControl = null; int i = 0; while (foundControl == null && i < parentControl.Controls.Count)
            {
                if (parentControl.Controls[i].ClientID == name) foundControl = parentControl.Controls[i];
                else
                {
                    if (parentControl.Controls[i].Controls.Count > 0) foundControl = GetControlByName(parentControl.Controls[i], name); // recursive call 
                } i++;
            } return foundControl;
        }
comments powered by Disqus