Итак, я пытаюсь динамически загрузить пользовательский элемент управления в местозаполнитель другого пользовательского элемента управления внутри панели обновления.
в основном у меня есть эта разметка:
<asp:UpdatePanel ID="upPopup" runat="server">
<ContentTemplate>
<UC:Popup runat="server" ID="UC_Popup" />
</ContentTemplate>
</asp:UpdatePanel>
И затем эта разметкавнутри этого usercontrol (Popup):
<div id="modal">
<asp:PlaceHolder ID="phPopupPlaceholder" runat="server"></asp:PlaceHolder>
<asp:Label ID="lblModal" runat="server"></asp:Label>
</div>
В коде позади popup usercontrol у меня есть:
public void Show(UserControl control) {
this.phPopupPlaceholder.Controls.Add(control);
this.lblModal.Text = "Loaded";
}
И я вызываю этот метод show в другом месте с помощью:
Popup.show(new MyUserControl());
Ничего не загружается в заполнитель.
Но в методе show я могу нормально загружать обычные серверные элементы управления следующим образом:
this.phPopupPlaceholder.Controls.Add(new Label(){ Text = "Label!" });
Может кто-нибудь объяснить мне, почему обычные элементы управлениязагружен нормально, но мой пользовательский контроль не загружен?