1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ler Valor DropDownList

Discussão em 'Web Development' iniciada por nuno_fbo, 5 de Junho de 2008. (Respostas: 4; Visualizações: 2383)

  1. Boa noiet,

    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á! [​IMG]

    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.SelectedValue / dropdownlist.Items.Value / dropdownlist.Items.Text

    Retorna-me sempre valores vazios, isto porque a dropdownlist não reconhece a lista, fiz algo do 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...

    ir a barra de ferramentas drag and drop de um objecto do tipo dropdownlist e clicar em edit items adicionando o valor e texto = 1 e com o valor e texto = 2

    Sendo que a minha ddl fica só com os valores 1 e 2
    Como é que no aspx.cs faço algo do género?

    if (ddl.selectValue == 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 valores 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 volta à situação...

    Agradeço feedback

    Muito Obrigado

    Cumprimentos,
    Nuno Oliveira
     
  2. alfinete

    alfinete Power Member

    isso fazes

    não precissa de ser no evento slectindexchange

    basta ser num botão

    ddl.selecteditem.text - para teres o texto
    ddl.slectedvalue - para teres o valor
     
  3. boas...

    desde já obrigado pela tua resposta...

    Acontece que preciso que seja nesse ivento, porque dependentemente da opção que o utilizador seleccionar na dropdownlist, aparecerá ou não uma textbox...

    Neste caso é uma aplicação financeira sendo que, o utilizador vai ter a possiblidade de optar por uma regra de indexação Fixa ou Indexada...

    Se for Indexada a txt do spread aparecerá...

    Se for Fixa, visto que é uma taxa fixa não é influenciada pelo spread, esta txt e a respectiva label ficarão a .Visible = false!

    Que me sujeres? Não sei se por exemplo com radio butons terei o mesmo problema...

    Com a drop down list n estou a conseguir...

    Já utilizei ListBoxes em alguns casos e 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 [​IMG]

    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...

    O que é que me sugeres?

    Obrigadão...

    Cump.
    Nuno Oliveira
     
  4. SoundSurfer

    SoundSurfer Power Member

    Se calhar o teu problema é o local onde estás a fazer a chamada no code-behind.. tens de investigar um pouco o "Page lifecycle" do ASP.NET e ver a partir de que momento é que a dropdown irá ser preenchida com os valores do postback. Por exemplo, no Page_Load ainda não está.

    No método que definiste como handler do "onChange" da dropdownlist já estará o selectedValue correcto.
     
  5. Boas...

    Complicar para que...

    Mudei a minha estratégia... RadioButtonList com um UpdatePainel da Tollkit do Ajax... tá perfeito...

    Pena que tenha perdido tanto tempo com a DDL...

    Assim fica melhor visualmente e tudo...

    Um grande obrigado e qq problema que surja... cá estarei a pedirvos ajuda :)

    Cumprimentos,
    Nuno Oliveira
     

Partilhar esta Página