Como criar controles dinamicamente no ASP.Net
Problema do aluno: Como crio, em ASP.Net 2005 controles dinamicos? E como eu posiciono os mesmos em um determinado ponto da página?
Solução: Criei um projeto chamado exemploCriacaoComponentes do tipo Web Application (web site).
Adicionei uma classe (no Solution Explorer cliquei com o botão direito do mouse sobre o projeto e, no menu de contexto, escolhi Add New Item). Dei o nome GeraComponentes e criei os métodos abaixo (estou colando todo o código para facilitar a leitura):
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public class GeraComponentes
{
public GeraComponentes()
{
}
/*
* ESSE MÉTODO CRIA E POPULA O DROPDOWNLIST
* DE SEXOS
*/
public String CriaComboSexo(String id)
{
DropDownList ddl = new DropDownList();
ddl.ID = id;
ddl.Items.Add("Masculino");
ddl.Items.Add("Feminino");
System.IO.StringWriter conteudoHTML =
new System.IO.StringWriter(new System.Text.StringBuilder());
HtmlTextWriter htw = new HtmlTextWriter(conteudoHTML);
ddl.RenderControl(htw);
return conteudoHTML.ToString();
}
/*
* ESSE MÉTODO CRIA E POPULA UM DROPDOWNLIST
* ASSOCIANDO O MESMO A UMA LISTA DE ELEMENTOS
*/
public String CriaCombo(System.Collections.ArrayList lista, String id)
{
DropDownList ddl = new DropDownList();
ddl.ID = id;
ddl.DataSource = lista;
ddl.DataBind();
System.IO.StringWriter conteudoHTML =
new System.IO.StringWriter(new System.Text.StringBuilder());
HtmlTextWriter htw = new HtmlTextWriter(conteudoHTML);
ddl.RenderControl(htw);
return conteudoHTML.ToString();
}
}
E, no método Form_Load, digitei o seguinte código (novamente estou colando todo o código):
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GeraComponentes gc = new GeraComponentes();
Response.Write("<p>Sexo:");
Response.Write(gc.CriaComboSexo("Sexo").ToString());
Response.Write("</p>");
System.Collections.ArrayList lista = new System.Collections.ArrayList();
lista.Add("ARROZ");
lista.Add("FEIJÃO");
lista.Add("BATATINHA");
Response.Write("<p>Comidas:");
Response.Write(gc.CriaCombo(lista, "Comidas").ToString());
Response.Write("</p>");
lista.Clear();
lista.Add("LIMA");
lista.Add("LARANJA");
lista.Add("LIMÃO");
Response.Write("<p>Frutas:");
Response.Write(gc.CriaCombo(lista, "Frutas").ToString());
Response.Write("</p>");
}
}




25/03/2008 at 10:21
Oi professor, te nviei e-mail no Agnaldo@50minutos.com.br!!
Sou uma aluna antiga da Impacta, mas spero que se lembre de mim!
Abraços!
Inah
26/03/2008 at 9:42
Oi professor!
Deixei recado aqui otem, mas acho que apagou….ou eu não deixei….tô tão maluca que nem sei mais….
Profesor, ive aula om vc em outubro/novembro do ano passado e queria tirar duas duvidas com vc, tem algum e-mail que posso enviar? porque tentei enviar para agnaldo@50minutos.com.br mas voltou….sniffs
Aguardo resposta!
Obrigada!
Inah
10/04/2008 at 17:33
Eai DIABONALDO…..firmeza….
a galera te chama de professor….hehehhe AI é FOGOOOOO….
fala pra eles que vc é INSTRUTOR pra quem nao sabe,,,,,
ai deixei um recado no seu email e outra coisa….o seu telefone que eu tinha ja era….roubaram meu celular….
abraçao, espero que vc responda…
RITAAAA “essa nem professora e nem instrutura “PRO INFERNOOOOOOOOOOOOOOOOOO”
11/04/2008 at 11:33
Eu chamo ele de professor se quiser, porque ele não só me intruiu como me ensinou, então preocupe-se mais com o que VOCÊ escreve doque com oque EU escrvo.
Obrigada
E PROFESSOR, Obrigada por responder meu recado e meu e-mail vou te elogiar na Impacta!
26/05/2008 at 12:18
E como eu faço para recuperar os valores selecionados nas combos?