C # - динамическая загрузка пользовательского элемента управления при нажатии кнопки - PullRequest
0 голосов
/ 30 марта 2012

У меня возникла почти та же проблема, что и в этом вопросе. Кто-нибудь может выложить ответ на этот вопрос? На вопрос нет четкого ответа.

Проблема с динамической загрузкой пользовательского элемента управления при нажатии кнопки

В этом вышеупомянутом вопросе он загружает элемент управления в заполнитель, присутствующий в первом пользовательском элементе управления. Мой сценарий немного другой. Мой сценарий у меня есть одна страница aspx, UserControl1 и UserControl2. В самом начале я загружу UserControl1 на страницу. Затем мне нужно выгрузить userControl1 и загрузить UserControl2 на страницу, когда пользователь нажимает кнопку из UserControl1.

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

Вам необходимо создать пользовательский обработчик событий для UserControl1 и всплыть событие до страницы при нажатии кнопки.

Создание собственного обработчика событий для UserControl1:

public event EventHandler UpdateButtonClick;

public void OnUpdateButtonClick(EventArgs e)
{
    if (UpdateButtonClick!= null)
        UpdateButtonClick(this, e);
}

Назначить обработчик событий для UserControl1:

<uc:UserControl1 ID="UserControl1" runat="server"
    OnUpdateButtonClick="UserControl1_UpdateButtonClick" ... />

Обрабатывать событие в коде позади:

protected void UserControl1_UpdateButtonClick(object sender, EventArgs e)
{
    UserControl1.Visible = false;
    UserControl2.Visible = true;
}
0 голосов
/ 30 марта 2012

События должны быть зарегистрированы при загрузке страницы не позднее.Ваш элемент управления создается во время обработки события, а его событие не зарегистрировано.Взгляните: http://msdn.microsoft.com/en-us/library/ms178472.aspx

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