У меня есть несколько пользовательских элементов управления, которые я написал, отлично работал, но теперь встревожен тем фактом, что они, кажется, не работают вообще, если я добавляю их динамически.То есть, когда я помещаю их непосредственно в код ASPX, они работают нормально, но не тогда, когда я создал их с помощью ключевого слова new
, а затем вставляю их куда-то.
Рассмотрим следующий элемент управления:
class MyUserControl: UserControl {
public string Text { get => this.lblChildLabel; set => this.lblChildLabel = value; }
}
Предположим, что на передней панели имеется только одна метка с именем lblChildLabel
.
Если я добавлю вышеуказанный элемент управления в свой код, я легко смогу его контролировать:
// In page_prerender
theControl.Text = "Anything";
И он отображается нормально.
Однако, если бы я создавал его "вручную", например:
var aNewControl = new MyUserControl();
aNewControl.Text = "Something"; // Exception: MyUserControl's lblChildLabel is not set to an instance of an object
Это, похоже, не проблемас любыми встроенными элементами управления.
Есть идеи?