Array
(
)

Criando componentes em tempo de execução

Rscojr
   - 24 ago 2005

Olá amigos.

Gostaria de saber como fazer para criar componentes asp.net em tempo de execução e mostrá-los em um webform. Ex. Gostaria de que quando um usuário clicasse em um botão, fosse criado um TextBox em algum lugar no webform.

Desde já agradeco.


Sanses
   - 24 ago 2005

Olá

Não sei se entendi direito, mas para voce ter um comportamento como esse é preciso que seja um comportamento de servidor, ou seja, o cliente vai precisar envia a solicitação para o servidor para que então a resposta seja enviada. Sendo assim acredito ser mais simples você colocar já os campos necessários na página de retorno, ou ainda na mesma página. Uma dica seria colocar os compoentes como não visiveis e na resposta setar a propriedade visible como true.

Quanto a criação de componentes, segue o mesmo princípio das aplicações .net tradicionais.

[]´s
Sanses


Cristiam
   - 25 ago 2005

Dê uma olhada em panel ou em Place Holder. Com eles vc consegue criar componentes dinâmicamente. ;)


_rodfaria_
   - 10 set 2005

* Delphi para .NET
procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
b:Button;
t:TextBox;
begin
b:=Button.Create;
b.Text:=´novo em folha´;

t:=TextBox.Create;
t.Text:=´novo também´;

PlaceHolder1.Controls.Add(b);
PlaceHolder1.Controls.Add(t);
end;


* Webmatrix com C#
<¬@ Page Language=´C´ ¬>
<script runat=´server´>

void Button1_Click(object sender, EventArgs e) {

Button b = new Button();
b.Text = ´Novo em folha´;

TextBox t = new TextBox();
t.Text = ´Novo também´;

PlaceHolder1.Controls.Add(b);
PlaceHolder1.Controls.Add(t);
}

</script>
<html>
<head>
</head>
<body>

<asp:PlaceHolder id=´PlaceHolder1´ runat=´server´></asp:PlaceHolder>




<asp:Button id=´Button1´ onclick=´Button1_Click´ runat=´server´ Text=´Button´></asp:Button>

</body>
</html>

Rod.