Pregunta

Tengo una pregunta sobre los controles y eventos cargados dinámicamente en estos controles (clic de botón en mi caso :)

Esto es lo que obtuve un RadPanelBar a Button y una entrada oculta:

              <telerik:RadPanelBar ID="languagesPanelBar" runat="server">
              </telerik:RadPanelBar>
              <asp:Button ID="Button1" runat="server" OnClientClick="funcation(){document.getElementById('someHiddenField').value='true';}" />
              <input id="someHiddenField" type="hidden" runat="server" value="false" />

que en el evento PageLoad, verifico si algún valor deHiddenField es verdadero o no, si es cierto, el nuevo elemento con control cargado dinámicamente se agrega a RadPanelBar:

        void Page_Load(object sender, EventArgs e)
        {
           if(someHiddenField.Value == "true")
             {
                RadPanelItem newRootItem = new RadPanelItem();
                RadPanelItem newChildIteam = new RadPanelItem();
                Control ctrl = LoadControl("testControl.ascx");
                ctrl.ID = "testCtrl";
                newChildItem.Controls.Add(ctrl);
                newRootItem.Items.Add(newChildItem);
                languagesPanelBar.Items.Add(newRootItem);
              }

    }

testControl.ascx tiene un botón, pero por alguna razón el evento onClick no se activará cuando el control se cree dinámicamente.
Estaría encantado de escuchar cualquier sugerencia sobre cómo resolver este problema :)

¡Gracias de antemano!

¿Fue útil?

Solución

Mover el código de creación de controles al evento Page_Init.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top