Ir para conteúdo

POWERED BY:

Arquivado

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

nuno_fbo

Ler valor de DropDownList

Recommended Posts

Boa tarde,

 

Estou a ter um problemazinho básico que me está a tirar tempo no desenvolvimento de um projecto universitário...

Estive a dar uma vista de olhos na net e em tanta informação não consegui encontrar o que queria...

 

Aqui vai para ver se há alguém que me possa ajudar... claro que há! :)

 

Numa página .aspx adicionei um objecto dropdownlist, cliquei no objecto e fiz edit items, introduzi os seguintes valores:

 

Text - Indexado

Value - 1

 

Text - Fixa

Value -2

 

No code behind (aspx.cs) queria fazer uma simples condição, então no evento selectindexchanged estou a ter dificuldades em apanhar o valor seleccionado...

 

Já exprimentei de tudo:

 

dropdownlist.SelectedValues / dropdownlist.Items.Value / dropdownlist.Items.Text

 

Retorna-me valores vazios, isto porque a dropdownlist não reconhece a lista, fiz algo ó género:

 

ListItem [] listaXPTO = new ListItem[dropdownlist.Items.Count]

 

for (int i = 0; i < listaXPTO.Length; i++)

listaXPTO = dropdownlist.Items[dropdownlist.SelectedIndex]

 

e nada o dropdownlist.SelectedIndex vem com valor 0

 

Façam o seguinte teste...

 

por uma ddl com o valor e texto = 1 e com o valor e texto = 2

 

Como é que no aspx.cs faço algo do género:

 

if (ddl.selectValueValue == 1)

lbl.text="Seleccionate 1";

 

else if (ddl.selectValue == 2)

lbl.text="Seleccionaste 2";

 

faço debug e com um break point no selectindex change verifico que na ddl estão a ser devolvidos sempre vazios, porque?

 

Fico a agurdar uma resposta de quem me poder ajudar... é sem duvida uma coisa simples... mas não estou a perceber o motivo disto estar a acontecer nem como dar a vlta à situação...

 

Agradeço feedback

 

Muito Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, você pode usara propriedade SelectedValue para pegar o item selecionado no evento selectIndexChanged, mas lembre de habilitar o atributo AutoPostBack para o valor True.

 

Flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, você pode usara propriedade SelectedValue para pegar o item selecionado no evento selectIndexChanged, mas lembre de habilitar o atributo AutoPostBack para o valor True.

 

Flwww

 

Boas, desde já obrigado pela resposta...

 

Sim claro, foi a primeira solução que testei... mas a essa propriadade devolve-me o valor "", porquê? é o que pretendo saber...

 

Não tive qualquer problema em apanhar o valor de uma ListBox onde criei um SQLDataSource... mas com a dropdownlist... tá-me a tirar do sério :)

 

Se tiveres o Visual Studio à mão exprimenta o que te estou a dizer... abres uma página e arastas um control dropdownlist... carregas em edit items e adicionas 2 items com o valor e text = 1 e o outro = 2

 

E verás que quando fazes no code behind (aspx.cs) no método SelectedIndexChanged

 

string xpto = dropdownlist.selectedvalue;

 

a string xpto fica com o valor "" - vazio

 

Sabes-me dizer porquê?

E como passar esta dificuldade...

 

Obrigado, cumprimentos,

Nuno Oliveira

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o teste aqui e deu certo, veja:

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
       <asp:ListItem>1</asp:ListItem>
       <asp:ListItem>2</asp:ListItem>
   </asp:DropDownList>

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) {
		string Valor = DropDownList1.SelectedValue.ToString();
	}

Abraços...

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.