nuno_fbo 0 Denunciar post Postado Junho 5, 2008 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
sublyer 0 Denunciar post Postado Junho 5, 2008 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
nuno_fbo 0 Denunciar post Postado Junho 5, 2008 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
quintelab 91 Denunciar post Postado Junho 6, 2008 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