• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

kat_jo

Criar Butoes dinamicamente

4 mensagens neste tópico

Peço desculpa por estar a criar um novo topico, mas surgiu-me outra duvida...  :-[

por exemplo


for(i=0;i<4;i++)
{
  LinkButton lk = new LinkButton();
  lk.Text = "OK";
  Page.Form.Controls.Add(lk[i]);
}

eu queria criar 4 linkbuttons dinamicamente, como vêm no exemplo em cima, mas como podem reparar seram criados 4 linkbuttons "lk" o q como é obvio vai dar erro ...

eu queria era uma forma de ele me distinguir os linkbutton's...

estilo +- como isto (mesmo sabendo que nao é possivel esta sintaxe)


for(i=0;i<4;i++)
{
  LinkButton lk[i] = new LinkButton();
  lk.Text = "OK";
  Page.Form.Controls.Add(lk);
}

:wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não tenhas vergonha de criar tópicos! É bom que alguém se lembre da secção de ASP.


for(i=0;i<4;i++)
{
  LinkButton lk[i] = new LinkButton();
  lk[i].Text = "OK";
  Page.Form.Controls.Add(lk[i]);
}

como já tinha dito no outro tópico.. nunca andei pelo ASP.net, mas segundo a minha experiência o erro era que apenas estavas a inserir novos butões mas nao estavas a cria-los.

Eu é que não tenho maneira de testar...

tenta assim.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Epá que ganda asneira...  :P

Tens de criar primeiro um array ou outro contentor qualquer para manter os butões:

LinkButton[] lk = new LinkButton[4];
for(int i=0;i<4;i++)
{
    lk[i] = new LinkButton();
    lk[i].Text = "OK";
    Page.Form.Controls.Add(lk[i]);
}

OU

[code]
for(int i=0;i<4;i++)
{
            LinkButton lk = new LinkButton();
            lk.Text = "OK";
            Page.Form.Controls.AddAt(0, lk);
            ((LinkButton)Page.Form.Controls[0]).Text = "NOVO";
}

[/code]

Embora esta ultima seja necessário tomar em conta que podem existir outros objecto criados estaticamente que também estão incluidos.

E a linha ((LinkButton)Page.Form.Controls[0]).Text = "NOVO"; pode não estar a modificar o control que criaste dinamicamente, mas outro!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora