none
Recuperar valores de controles criados dinamicamente. RRS feed

  • Pergunta

  • Bom dia,

    Vi vários exemplos de como se criar e recuperar mas acho que nenhum deles se encaixa nas minhas dúvidas.

    Tenho abaixo meu código onde crio textbox dinamicas de acordo com o valor que está vindo no meu 'txtQtdSabDom.Text' e jogo para dentro de uma table criada dinamicamente também.

    Então eu coloco a quantidade e a minha página da um post e nesse post eu chamo o evento do botão e crio as textbox...

     for (int i = 0; i < Convert.ToInt32(txtQtdSabDom.Text); i++)
                    {
                        // Criando nova linha, calula e campo
                        Linha = new TableRow();
                        Celula = new TableCell();
                        Campo = new TextBox();
                        Label = new System.Web.UI.WebControls.Label();
                        //propriedades dos campo text
                        Campo.ID = "txtNomeSabDom_" + i.ToString();
                        Campo.Width = Unit.Pixel(250);
                        Campo.EnableViewState = true;
                        //propriedades da label
                        Label.ID = "lbl" + i.ToString();
                        Label.Text = "Insira o(s) nome(s) de quem irá participar no sábado e domingo: ";
                        Label.ForeColor = System.Drawing.Color.Black;
                        Label.Font.Bold = true;
                        // Adiciono o campo criado e setado a celula
                        Celula.Controls.Add(Label);
                        Celula.Controls.Add(Campo);
                        // Adiciono a celula com o campo a linha
                        Linha.Cells.Add(Celula);
                        // Adiciono a linha com a celula e com o campo setado a tabela
                        this.tbCampos.Rows.Add(Linha);
                    }

    Até ai tudo bem...o problema é depois que abaixo dos campos criados eu tenho um novo botão e nesse preciso recuperar os valores que estão vindo dentro deles. Que é aí que quando dou um FindControl ele não acha meus valores e perco todos meus campos criados no post anterior.

    string valores = "";
                for (int i = 0; i < Convert.ToInt32(txtQtdSabDom.Text); i++)
                {
                    TextBox text = this.tbCampos.FindControl("txtNomeSabDom_" + i.ToString()) as TextBox;
    
                    valores += text.Text + "<br />";
                }
     

    A recuperação estou tentando recuperar dessa forma...mas quando clico no botão e da o post na pagina eu perco os valores.

    Já pesquisei sobre isso e dizem que preciso guardar as informações numa ViewState, mas nao tenho muita experiencia nisso e gostaria de uma ajuda de vocês.

    Fico no aguardo,

    Abs,

    Arthur

    terça-feira, 1 de julho de 2014 14:11

Respostas

Todas as Respostas