none
Como criar um TextBox dinamicamente pelo aspx? RRS feed

  • Pergunta

  • Bom dia.

    Caros, gostaria de uma ajuda para criar um textbox com a propriedade ID dinâmica.

    Preciso que o ID do controle seja um nome vindo do banco. Alguma coisa mais ou menos assim:

                     

     <asp:TextBox ID='<%# Eval("ST_DESCRICAO") %>'  runat="server" Width="100%">

    </asp:TextBox>

    De forma que no code behind eu consiga pega-lo com um simples Find Control:

    Page.FindControl("IddoCampo");

    É possível?

    Obrigado pelas eventuais ajudas desde já.

    terça-feira, 10 de setembro de 2013 15:24

Todas as Respostas

  • Você pode criar componentes server-side da seguinte forma.

    TextBox seuInput = new TextBox();
            seuInput.ID = "meutextobox";
    seuPanel.Controls.Add(seuInput);

    Veja se funciona assim, mesmo com o postback.


    Rafael Boschini

    terça-feira, 10 de setembro de 2013 16:43
  • É que não é um Panel, é um Datalist e os textbox são criados junto com os dados de outras colunas dentro do Datalist.

    Neste caso eu precisaria de um textbox dinâmico para cada linha, só que eles não podem ter o mesmo nome, pois cada textbox desse terá caracteristicas únicas que eu só vou saber através de outros dados do Datalist.

    Por isso precisaria ser do outro jeito.

    Mas obrigado pela atenção mesmo assim.

    terça-feira, 10 de setembro de 2013 17:43
  • Então vc faz assim, onde vc quer colocar um textbox dinamico vc coloca um panel, e no rowDataBound do datalist vc pode renderizar dentro do panel da linha desejada, a renderização do textbox.

    com isso vc pode controlar o id dos componentes.

    Tenta dessa forma que talvez funcione, me fala se conseguiu, qualquer coisa tento fazer um codigo pra vc.

    abracos


    Rafael Boschini

    quarta-feira, 11 de setembro de 2013 16:57