Como criar controles dinamicamente no ASP.Net
O Agnaldo mostra como se criam controles de forma dinâmica no ASP.Net. Esse exemplo pode ser ampliado para uso em WebServices ou numa DLL de negócios.
Como criar controles dinamicamente no ASP.Net
publicado por Agnaldo em www.50minutos.com.br em 24/03/2008
Problema do aluno: Como crio controles dinamicamente, em ASP.Net 2005? 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>");
}
}
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo