Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

scape

Criar TextBox runat=server em tempo de execução

Recommended Posts

Olá pessoal,Estou com um problema cruel.Eu tenho q criar em tempo de execução o seguinte campo<input type=text name="TextBox1" id="TextBox1" runat="server">estou escrevendo assim: Response.Write ("<input type=text name=\"TextBox1\" id=\"TextBox1\" runat=\"server\">")Até aí tudo bem, consigo escrever o código na boa, mas eu preciso resgatar o valor desse cara e quando eu tento atribuir algum valor a TextBox1.Value dá erro pq ele diz q o TextBox1 naum existe, na realidade ele naum existe mesmo, pois só existirá quando eu mostrar isso na tela.Como eu resolvo esse problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo de criação de um link

-------------------------------------

 

private void Page_Load(object sender, System.EventArgs e)

{

 

form_pagina = ((HtmlForm) Page.FindControl("NomeForm"));

 

System.Web.UI.WebControls.LinkButton lnkx = new System.Web.UI.WebControls.LinkButton();

lnkx.Text = "link"

lnkx.Visible = true;

lnkx.ToolTip = "ToolTip"

lnkx.Style.Add("Z-INDEX","120");

lnkx.Style.Add("LEFT",Ds.Tables[0].Rows["rg_left"].ToString() + "px");

lnkx.Style.Add("POSITION","absolute");

lnkx.Style.Add("TOP",Ds.Tables[0].Rows["rg_top"].ToString() + "px");

form_pagina.Controls.AddAt(0, lnkx);

 

((LinkButton)lnkx).Click += new System.EventHandler(this.lnkx_Click);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow cara tá dando erro direto em:form_pagina = ((HtmlForm) Page.FindControl("NomeForm"));The name 'form_pagina' does not exist in the class namespace '....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, funcionou beleza, eu useiprivate void Page_Load(object sender, System.EventArgs e){ Control form_pagina = FindControl("WebForm1"); System.Web.UI.WebControls.TextBox text = new System.Web.UI.WebControls.TextBox(); text.Text = "text"; text.ID = "111"; form_pagina.Controls.AddAt(0, text);}Agora eu quero saber se tem algo um pouco mais complexo, tipo:Eu quero criar o System.Web.UI.WebControls.TextBox text = new System.Web.UI.WebControls.TextBox(); Dinamicamente, pelo q estou vendo eu tenho q escrever isto, o q eu quero é colocar isto dentro de um for, ou seja, queri criar os text box q será definidona hora da execução....Isso é possível?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E qual é o problema em você fazer isso ?Acredito que fazendo assim funciona sem problemas:System.Web.UI.WebControls.TextBox objText;for ....{System.Web.UI.WebControls.TextBox objText = new System.Web.UI.WebControls.TextBox(); // definir propriedades do novo textobjText.??? = ???objText.??? = ???objText.??? = ???objText.??? = ???}É isso aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, funcionou, acho q vou te dar o meu salário, heheheheheMas antes disso queria saber mais uma coisinha.Eu gerei os <input type=text> na boa, agora eu quero colocar em um determinado lugar de uma página, tipo, eu tenho uma tabela, e em cada celula da mesma quero colocar um text desses q eu criei, como eu faço??Valeu mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca fiz mas acredito que basta você achar o container onde você quer colocar o Textbox usando o FindControl("NomeDoContainer");aí você adiciona o textbox criado usando <container retornado pelo findcontrol>.Controls.AddAt(0, <textbox criado>);Deve funcionar.Compra 2 caixas de cerveja que tá tudo certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara veleu, funcionou,Eu coloquei na tabela<td id=aaa runat=server>como você sugeriu, então os campos entram nesta célula...Temos que marcar essa cervejada heheheheheCâmbio

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.