Проблема с состоянием вида с динамически загруженным управлением - PullRequest
1 голос
/ 16 февраля 2011

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

Вот как я загружаю элемент управления:

protected void Page_Load(object sender, EventArgs e)
{
    LoadSubPageEditTemplate();
}

protected void LoadSubPageEditTemplate()
{
        pnlPageTemplate.Controls.Clear();
        BaseOfferAdmin adminControl = (BaseOfferAdmin)this.LoadControl("~/Controls/SingleOfferAdmin.ascx");                        
        if (adminControl != null)
        {
            adminControl.ID = "Control_ID"
            pnlPageTemplate.Controls.Add(adminControl);
        }
    }
}

LoadSubPageEditTemplate () также запускается из события кнопки на странице, так как я должен обновить его после выполнения события кнопки.

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

<asp:CheckBox runat="server" ID="cbOptionalAction" Text="CheckBox" AutoPostBack="true" OnCheckedChanged="cbOptionalAction_CheckChanged" />

Событие CheckedChanged возникает только при установленном флажке, что, по-моему, означает, что есть некоторая проблема с моим контрольным состоянием просмотра. Если у меня несколько флажков на странице, и один из них создает обратную передачу, событие checkgged запускается для каждого флажка, который отмечен.

Спасибо, что нашли время, чтобы помочь мне!

Игнус

1 Ответ

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

Пожалуйста, загружайте контроль только тогда, когда страница не отправлена ​​обратно.

protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
        {        
             LoadSubPageEditTemplate();
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...