Domanda

Ho una domanda sui controlli e sugli eventi caricati dinamicamente in questi controlli (fare clic sul pulsante nel mio caso :)

Ecco cosa ho ottenuto un RadPanelBar a Button e input nascosto:

              <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" />

rispetto all'evento PageLoad, controllo se il valore someHiddenField è vero o no, se è vero il nuovo elemento con controllo caricato dinamicamente viene aggiunto 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 contiene un pulsante, ma per qualche motivo l'evento onClick non si attiva quando il controllo viene creato in modo dinamico.
Saremo lieti di ricevere qualsiasi suggerimento su come risolvere questo problema :)

Grazie in anticipo!

È stato utile?

Soluzione

Sposta il codice di creazione dei controlli nell'evento Page_Init.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top