Stranezza DropDownList con DataValueField

giovedì 21 luglio 2005 - 15.31

erik77 Profilo | Senior Member

Ciao ragazzi,
ho notato che se imposto la mia DropDownList in questo modo:
DropDownList4.DataSource = ds
DropDownList4.DataTextField = "NUMSERLCM"
DropDownList4.DataValueField = "TIPODATO"
DropDownList4.DataBind()

succede che non riesco a rileggermi il valore selezionato. In pratica il valore di DropDownList.SelectedIndex è sempre 1.
Se tolgo "DropDownList4.DataValueField = "TIPODATO"" allora funziona correttamente.
Per caso è un bug?
ho provato anche così:
DropDownList4.Items(DropDownList.SelectedIndex).Text
ma nulla di fatto

grazie in anticipo
ciaooo

Brainkiller Profilo | Guru

Assicurati intanto di racchiudere quelle operazioni in un ciclo IF.
if (Not Page.IsPostback)

E poi, SelectedIndex ti restituisce l'indice dell'elemento selezionato. Tu cosa desideri ottenere ?

In ogni caso per fugare ogni dubbio avvia una sessione di Debug nel Page_Load se hai messo il codice di Binding lì, e verifica cosa succede step by step.

ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

FrancescoGuadagno Profilo | Senior Member

Io in genere collego un datatable e non un dataset, quindi qualcosa di questo tipo

DropDownList4.DataSource = ds.Tables[0] ;
DropDownList4.DataTextField = "NUMSERLCM"
DropDownList4.DataValueField = "TIPODATO"
DropDownList4.DataBind()


www.codesensitive.com

erik77 Profilo | Senior Member

beh il problema è così come l'ho postato.
Dopo il PostBack il SelectedIndex risulta sempre a 1.
Per informazione la DropDownList in qeustione ha disabilitato l'AutoPostBack (non serve gestire l'evento)

Non riesco a capire perchè quando imposto anche il "DataValueField" la DropDownList (dopo un postback) si perda l'elemento selezionato...


freeteo Profilo | Guru

ciao,
ho trovato ankio qualcosa di sikile come problematica ed ho capito che cerano valori doppi oppure valori con caratteri stani tipo virgole e quindi sabagliava a selezionare il selezionato...pensavo fosse 1problema della 2005 ma a quanto pare...
controlla i valori direttamente guardando l'html della pagina che ti genera
ciao

erik77 Profilo | Senior Member

eccooo
in effetti i valori del value a volte sono uguali!... ma a me serve proprio così!
che strada consigli di prendere?

grazie e ciaooo

freeteo Profilo | Guru

ciao,
se hai dei valori uguali allora come puoi scegliere quelli giusti?
nel senso che lui quando scegli la combo lui deve scegliere l'elemento che ahi scelto diciamo cosi'...quindi io ti consiglio di aggiungerci al valore magari l'id del record cosi sei sicuro che sono differenti ;-)
magari li separi con 1 carattere che sai tu che non ce e poi fai lo split quando lo leggi...
ciao

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