Criando controles dinamicamente

agosto 8, 2008 12:43 by pauloholanda

Resolvi escrever esse artigo, devido a dificuldade que obtive em encontrar material sobre esse assunto, quando precisei criar formulários diferentes dentro de um cenário.

 

Este pequeno artigo apresenta uma solução para criar controles e tags html dentro de um outro controle.

 

Criando a página a ser usada

o código abaixo é referente a página Artigo1.aspx, foi criado apenas um Panel identificado como Panel1.

Artigo1.aspx

<%@ Page Language="C#" AutoEventWireup="true" 
CodeFile="Artigo1.aspx.cs" Inherits="Artigo1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Criando controles dinamicamente</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
</div>
</form>
</body>
</html>


Artigo1.aspx.cs

public partial class Artigo1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//cria um novo controle dropdownlist
DropDownList ddl = new DropDownList();
//identifico o dropdownlist
ddl.ID = "ddlDinamico";
//adicionar alguns itens ao dropdownlist
ddl.Items.Add(new ListItem("goiaba"));
ddl.Items.Add(new ListItem("banana"));
ddl.Items.Add(new ListItem("laranja"));
//adicionar controle ao panel
Panel1.Controls.Add(ddl);
//usamos a função GetLiteral para adicionar tags/textos em html ao Panel
Panel1.Controls.Add(GetLiteral("<br />dropdownlist criado dinamicamente!!<br />"));
}
public Literal GetLiteral(string text)
{
Literal rv;
rv = new Literal();
rv.Text = text;
return rv;
}
}

a figura 01 é referente ao resultado da aplicação em execução.

 

 


figura 1

espero ter ajudado com essa dica, até a próxima!

 

[]s,

Paulo Holanda


5.0 ponto(s). Avaliado por 1 pessoas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5