Хорошо, у меня очень странная проблема. У меня есть обычный UserControl с некоторыми элементами управления в разметке. На Page_Load
эти элементы управления все еще null
. И я попробовал EnsureChildControls
Выложено так:
Masterpage -> Страница -> mycontrol1 -> mycontrol2 -> problemcontrol
ProblemControl - это когда элементы управления являются нулевыми. MyControl1 содержит MyControl2. MyControl2 - это еще один UserControl, который содержит ProblemControl в своей разметке. На главной странице нет ничего особенного, и страница содержит MyControl1 в своей разметке. Единственная странность в том, что ProblemControl создается динамически в Page_Init
.
Все работает нормально, пока я не попадаю в ProblemControl, где ни один из элементов управления не создается. ProblemControl содержит все необходимые вещи, такие как свойство Page и Parent. Я не вижу никаких проблем. Исходный код для всего этого (кроме ProblemControl) довольно обширный, поэтому я надеюсь, что кто-то может дать мне несколько советов по устранению неполадок для этой проблемы, и если кто-то сталкивался с этим раньше.
Кроме того, я могу поместить ProblemControl в другой элемент управления Page, и он будет работать нормально, это что-то вроде mycontrol1 и / или mycontrol2. Но у нас никогда не было проблем с mycontrol1, и у mycontrol2 нет ничего, что я мог бы понять с этим неправильно. (который я утомительно анализировал последние несколько часов).
У кого-нибудь еще была такая же проблема? Есть ли общие вещи, чтобы проверить?
Обновление:
Хорошо, в ближайшем будущем у меня будет небольшой тестовый сценарий, чтобы я мог его воспроизвести. Но сейчас кажется, что проблема заключается в создании UserControl изнутри UserControl динамически в Page_Init
. Я могу сделать тот же код на странице ASPX, но когда я делаю это на элементе управления ASCX, он разрывается со всеми, что является нулевой проблемой, как описано выше. Разве вы не можете вкладывать UserControls!?