Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DaniloTec

[Resolvido] Função que retorna um DropDownList

Recommended Posts

Boa tarde gente.

Criei uma classe que me retorna um DDL.

public DropDownList carregaDDLEstado(string strEstado) {
		string[] estados = new string[]{"SP","RJ","SC","RS","PR"};
		DropDownList ddlEstado = new DropDownList();
		ddlEstado.DataSource = estados;
		ddlEstado.DataBind();
		return ddlEstado;
	}
E eu coloco ele dentro do form da página aspx

formulario obj = new formulario();
form1.Controls.Add(obj.carregaDDLEstado(ddlEstado.Text));
O problema é que ele inclui o DDL no final da página e eu gostaria que ele colocasse dentro da tabela do formulário.

Tentei criar uma LABEL dentro da TABLE e atribuir o DDL a LABEL, mas isso não funciona. Diz que precisa ser uma string pra estar dentro da LABEL e o DDL é um CONTROL.

Como eu especifíco o lugar que eu quero colocar o controle retornado?

PS: Não estou me referindo a posição absoluta.

 

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de usar form1.Controls, utilize um Panel ou outro tipo de Container para indicar o local onde o novo controle deve ser inserido.

 

Se for utilizar um panel, basta alterar para myPanel.Controls.Add.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw, Juliano.

Mas apareceu um errinho aqui.

Quando eu coloco o DDL no panel e submeto o formulário ele diz que o DDL não existe quando tempo pegar o valor dele.

O que acontece?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como voce esta tentando pegar o valor de volta?

De um ID para o componente:

ddlEstado.ID = "ddlEstados"
E depois tente pegar assim ao submeter o formulario:

Request.Forms["ddlEstados"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, a função que cria o DDL é essa:

public DropDownList carregaDDLEstado() {
		string[] estados = new string[] { "AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS", "MT", "RJ", "PA", "PB", "PE", "PI", "PR", "RN", "RO", "RR", "RS", "SC", "SP" };
		DropDownList ddlEstado = new DropDownList();
		ddlEstado.DataSource = estados;
		ddlEstado.DataBind();
		ddlEstado.ID = "ddlEstado";
		return ddlEstado;
	}
Como se trata de um controle do ASP.NET eu estou tentando resagatar como:

ddlEstado.text
Mas não está funcionando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O request funcionou. Eu só não entendo o porque de não funcionar o text sendo que há outros DDL's que eu resgato com text.

Vlw!.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.