109 messaggi dal 17 dicembre 2007
Salve a tutti,
sulla mia pagina ho una listbox che carico con una procedura nel codebehid e in base a determinate condizioni coloro i listitem con colori diversi, in questo modo:

Dim li As New ListItem(Testo, Chiave)

if condizione1 then
li.Attributes.Add("style", "color: RED")
end if

if condizione2 then
li.Attributes.Add("style", "color: GREEN")
end if

se nessuna delle 2 condizioni è soddisfatta lascio così com'è e usa il colore che ho impostato nel designer (BLU).

Tutto viene visualizzato come dovrebbe, ma quando clicco su uno dei listitems generando un postback, tutti i listitem ritornano al colore di base (BLU).

Che succede?

Grazie a tutti
DIEGO
710 messaggi dal 13 novembre 2008
Contributi
imposta gli attributi al PageLoad dentro

if(!IsPostBack) {...}
109 messaggi dal 17 dicembre 2007
Cioè mi stai dicendo che ad ogni postback devo ricaricare la lista!
Questo lo volevo evitare visto che quello che scrivo nella lista lo prendo da un db e quindi volevo leggere i dati dal db solo la prima volta.
710 messaggi dal 13 novembre 2008
Contributi
if(!IsPostBack)


la crei solo la prima volta
109 messaggi dal 17 dicembre 2007
ah si scusa, quella è la sintassi C# io scrivo in vb.
Ma attualmente è proprio così che faccio carico la lista solola prima volta e quindi ho:
If Not IsPostBack then caricaLista

solo che mi da il comportamento anomalo (per me) che o spiegato prima.

Mi sono dimenticato di dire che la lista si trova in un updatepanel, può implicare qualcosa?
710 messaggi dal 13 novembre 2008
Contributi
non è un problema di UpdatePanel ma gli attributi specificati per i list items non vengono salvati in ViewState, quindi non persistono al post back; o te li salvi da qualche parte e poi li rileggi o fai un server control personalizzato in cui fai l'override di SaveViewState e LoadViewState

v. esempio

http://www.4guysfromrolla.com/articles/110205-1.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.