2013-05-27 4 views
2

У меня проблема с обновлением usercontrol в другом usercontrol.Как обновить UserControl в другом UserControl в C#?

Пример кода:

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

Этот код показывает Ссылка на объект не указывает на экземпляр объекта ошибки

+0

Вы используете MasterPage? –

+2

Почему упрекать? Я видел это часто без видимых причин. – David

+0

Да, я использую главную страницу –

ответ

1
  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; 
} 
Смежные вопросы