Criando controles dinamicamente em Asp.Net

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

Criando controles dinamicamente em Asp.Net

 

Este é meu primeiro artigo nesse Portal. Resolvi escrevê-lo devido a dificuldade que tive 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 Default.aspx, foi criado apenas um Panel identificado como Panel1.

 

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!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">

<asp:Panel ID="Panel1" runat="server">

</asp:Panel>

</form>

</body>

</html>

 

Criando o Code-Behind a ser usado

O código abaixo é referente ao arquivo Default.aspx.vb. Foi criado uma função chamada de GetLiteral, essa função transforma o texto no tipo Literal, que é responsável por renderizar textos estáticos. Aproveitamos o evento Page_Load como um exemplo para criar o controle DropDownList dentro do controle Panel1. Veja como ficou o código.

 

Partial Class _Default

Inherits System.Web.UI.Page

Function GetLiteral(ByVal text As String)

Dim rv As New Literal

rv.Text = text

GetLiteral = rv

End Function

 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim ddl As New DropDownList 'cria um novo controle dropdownlist

ddl.ID = "ddl" 'identifico o dropdownlist

ddl.Items.Add(New ListItem("Goiaba")) 'adicionar alguns itens ao dropdownlist

ddl.Items.Add(New ListItem("Banana"))

ddl.Items.Add(New ListItem("Laranja"))

Panel1.Controls.Add(ddl) 'adicionar controle ao panel

 

Panel1.Controls.Add(GetLiteral("<br>DropDownList criado dinamicamente!!<br>")) 'usamos a função GetLiteral para adicionar tags/textos em html ao panel

End Sub

End Class

 

Partial Class _Default

Inherits System.Web.UI.Page

Function GetLiteral(ByVal text As String)

Dim rv As New Literal

rv.Text = text

GetLiteral = rv

End Function

 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim ddl As New DropDownList 'cria um novo controle dropdownlist

ddl.ID = "ddl" 'identifico o dropdownlist

ddl.Items.Add(New ListItem("Goiaba")) 'adicionar alguns itens ao dropdownlist

ddl.Items.Add(New ListItem("Banana"))

ddl.Items.Add(New ListItem("Laranja"))

Panel1.Controls.Add(ddl) 'adicionar controle ao panel

 

Panel1.Controls.Add(GetLiteral("<br>DropDownList criado dinamicamente!!<br>")) 'uso a função GetLiteral para adicionar tags/textos em html ao panel

End Sub

End Class

 

A Figura 01 é referente ao resultado da aplicação em execução.

 

 

Figura 01

 

Espero ter ajudado com a publicação desse artigo, até a próxima!

 

[]’s

Paulo Holanda

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados