Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / ASP.NET

Finding Specific Type Parent Control in ASP.NET

4.33/5 (2 votes)
1 Feb 2010CPOL 16.6K  
Introduction...
Introduction

While working on a page with nested DataLists, I found it difficult to find the parent DataListItems of controls nested in panels and other server side container controls. I had to repeat calling the Parent property of controls till I get the required Parent control. The repeation of calling of Parent property is error prone as any subtle change in the page structure could throw an exception. This helper method finds the parent control using extension method to the Control class of asp.net.

The Code

C#
public static T FindImmediateParentOfType<T>(this Control control) where T : Control
    {
        T retVal = default(T);
        Control parentCtl = control.Parent;
        while (parentCtl != null)
        {
            if (parentCtl is T)
            {
                retVal = (T)parentCtl;
                break;
            }
            else
            {
                parentCtl = parentCtl.Parent;
            }
        }
        return retVal;

    }

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)