Search code examples
c#asp.netascx

How to update UserControl in another UserControl in C#?


I have problem with updating usercontrol in another usercontrol.

Example Code:

UserControl MyCart1 = (UserControl)Page.FindControl("MyCart1");
UpdatePanel up_shoppingcart = (UpdatePanel)MyCart1.FindControl("up_shoppingcart");
                    up_shoppingcart.Update();

This code shows Object reference not set to an instance of an object error


Solution

    1. You need to determine which of the three lines of code that you provided, throws the exception. This can easily done using debugger.

    2. FindControl method searches only immediate children controls. You can write a recursive version of it to search deeper.

    )

    public Control FindControlDeep(Control parent, string id) 
    {
        Control result = parent.FindControl(id);
        if (result == null)
        {
            for (int iter = 0; iter < parent.Controls.Count; iter++)
            {
                result = FindControlDeep(parent.Controls[iter], id);
                if (result != null)
                    break;
            }
        }
        return result;
    }