none
Criando componente Dinamicamente e depois Acessando seu conteudo RRS feed

  • Pergunta

  • Prezados meu problema é o seguinte!!

    Tenho um metodo que cria componentes TexBox  dentro de um update Panel baseado na quantidade de itens que o usuário colacar em um ListBox .

    Ou seja.

    o Usuário seleciona 5 itens de um lista e adiciona em outra! após clicar em adicionar dispara o evento CriarCampos()

    onde vários textBox.

    AI que nasce o problema. Ao fazer isso se eu apenas criar os componentes desta maneira:

    ...

    plcFonte.Controls.Add(txt);

      uppFonte.Update();

     O componente não fica registrado na página e não consigo usar o control.find pra localizar pois não existe nenhum componente dentro do pnlFonte.

    quarta-feira, 4 de setembro de 2013 11:29

Respostas

  • Mas você precisa fazer o que com esses textbox? Apenas recuperar os valores?

    Uma opção é você utilizar Repeater, mas eu mesmo não gosto de utilizá-lo. Outra opção é procurar pelo control do jeito que você está fazendo, mas não com o Find:

            protected void Page_Load(object sender, EventArgs e)
            {
                var textbox = new TextBox();
                textbox.ID = "dynamic_textbox";
                pnl.Controls.Add(textbox);
            }
    
            protected void teste_Click(object sender, EventArgs e)
            {
                var textboxes = pnl.Controls.OfType<TextBox>();
                foreach (var textbox in textboxes)
                {
                    // faça o que você quiser aqui =D
                }
            }

    Abraço ;)


    Rafael O. Marques

    • Marcado como Resposta Alysson Queiroz sexta-feira, 6 de setembro de 2013 15:18
    quarta-feira, 4 de setembro de 2013 12:19