DropDownList ed evento SelectedIndexChanged che non va

mercoledì 30 gennaio 2008 - 15.27

ravalon Profilo | Expert

Salve a tutti...

ho popolato una DropDownList con dei valori e vorrei semplicemente che al variare del valore selezionato venisse cambiata una label che è posizionata sotto

Purtroppo causa mia incapacità, l'evento SelectedIndexChanged che credo intercetti il cambiamento non sortisce alcun effetto....proprio non ci passa nemmeno il debug....

Cosa sbaglio ?

adima80 Profilo | Junior Member

ciao, sembra una risposta scontata, ma sei sicuro di aver gestito correttamente l'evento?

amelix Profilo | Expert

Altra domanda scontata...
Hai attivato l'autoPostBack?

Andrea - http://www.MelisWeb.eu/

ravalon Profilo | Expert

Questa è la mia DropDownList

<asp:DropDownList ID="cmbListCategorie" runat="server"
CssClass="ComboBox" Width="100%">
</asp:DropDownList>

Ho caricato la lista da database...

e questo l'evento

Protected Sub cmbListCategorie_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbListCategorie.SelectedIndexChanged
lblCategoriaSceltaDesc.Text = cmbListCategorie.Text & "PROVA"
End Sub

L'autopostback non l'ho attivato perchè non voglio che si ricarichi la pagina.....devo per forza fare in quel modo ???

Ma se metto un break point per il debug nemmeno ci passa da questo evento al cambiare del valore

amelix Profilo | Expert

><asp:DropDownList ID="cmbListCategorie" runat="server"
> CssClass="ComboBox" Width="100%">
></asp:DropDownList>

>Protected Sub cmbListCategorie_SelectedIndexChanged(ByVal sender
>As Object, ByVal e As System.EventArgs) Handles cmbListCategorie.SelectedIndexChanged
>lblCategoriaSceltaDesc.Text = cmbListCategorie.Text & "PROVA"
>End Sub
>
>L'autopostback non l'ho attivato perchè non voglio che si ricarichi
>la pagina.....devo per forza fare in quel modo ???
Allora come fai ad avvertire il server del cambiamento della scelta?

>Ma se metto un break point per il debug nemmeno ci passa da questo
>evento al cambiare del valore
Dentro il tuo evento ci passa solo se si verificano le condizioni richieste... Al primo giro, ovviamente, NON ci passerà.
Cmq NON hai definito l'evento nella tua dropdownlist... devi aggiungere OnSelectedIndexChanged="cmbListCategorie_SelectedIndexChanged" e, sinceramente, l'autopostback lo attiverei sulla ddl...


Andrea - http://www.MelisWeb.eu/

ravalon Profilo | Expert

Ok avevo omesso di fare

OnSelectedIndexChanged="cmbListCategorie_SelectedIndexChanged"

pensavo che creando l'evento lo mettesse da solo invece non c'era...

Comunque sia anche facendo cosi non ci passa lo stesso...
Inoltre non vorrei che la pagina si ricaricasse dato che se si ricarica viene scatenata di nuovo l'estrazione da DB e quindi il valore di default è sempre lo stesso...

Come mai non mi va ? e come posso fare ?

amelix Profilo | Expert

Questo è il mondo web...
ASP.NET va considerato DISCONNESSO.
L'unico modo per capire che il client ha fatto qualcosa è quello che LUI te lo dica (POSTBACK o altro)...

Per evitare che al postback ti ricarichi i dati... non farglieli ricaricare... esiste la proprietà IsPostBack che ha valore True quando, immagina, fai un post back.

Altra soluzione è il JS...
Andrea - http://www.MelisWeb.eu/

ravalon Profilo | Expert

Ok per quello ci posso passare sopra o usare AJAX

rimane il fatto che non mi passa dentro agli eventi di cui parliamo e non capisco il perchè...il codice è quello passato...

Cosa può essere ?


****************AGGIORNAMENTO******************
Mi aiutate almeno a capire come mai non entra nell'evento ????

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5