Динамическая загрузка usercontrol в панели обновления - PullRequest
1 голос
/ 16 февраля 2011

Итак, я пытаюсь динамически загрузить пользовательский элемент управления в местозаполнитель другого пользовательского элемента управления внутри панели обновления.

в основном у меня есть эта разметка:

<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!" });

Может кто-нибудь объяснить мне, почему обычные элементы управлениязагружен нормально, но мой пользовательский контроль не загружен?

1 Ответ

1 голос
/ 16 февраля 2011

Хорошо, я узнал, что я, по-видимому, должен использовать метод LoadControl, но я не совсем понимаю, почему это необходимо: /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...