如何在c#中更新另一个UserControl中的UserControl

本文关键字:UserControl 另一个 中的 更新 | 更新日期: 2023-09-27 18:15:45

在另一个usercontrol中更新usercontrol时遇到问题。

示例代码:

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

此代码显示对象引用未设置为对象的实例错误

如何在c#中更新另一个UserControl中的UserControl

  1. 您需要确定您提供的三行代码中的哪一行会抛出异常。

  2. FindControl方法只搜索直接子控件。你可以写一个递归的版本来更深入的搜索。

)

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;
}