187 messaggi dal 23 maggio 2002
Dunque...
Ma così è sbagliato?
<asp:ListBox id="LButenti" runat="server" AutoPostBack="True" DataValueField="IDUtente" DataTextField="Login" Font-Names="verdana" Font-Size="8pt" Rows="20" Width="140px" OnSelectedIndexChanged="Rispondi"></asp:ListBox>

e poi tra le sub:
Sub Rispondi(sender As Object, e As EventArgs)
Session("Destinatario")=LButenti.Items(LButenti.SelectedIndex).Value()
End Sub


...il fatto è che nella listbox vedo correttamente sia i text sia i value (se li inverto li leggo) ma non mi recupera il value (se provo a stamapare la variabile è vuota!)

Mi da questo errore:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

Diciamo che lo scopo è avere una lista e poi al click prendrmi idutente... ho provato anche con un linkbutton ma li ho problemi con la sub che mi da errore

Help please
Elisa
Strano che non ti dia un errore di compilazione, cmq fai

Sub Rispondi(sender As Object, e As EventArgs)
Session("Destinatario")=LButenti.SelectedItem.Value
End Sub

Controlla di non rifare il bind della dropdown ad ogni postback e che il viewstate sia abilitato

Ciao

Il mio blog
Homepage
45 messaggi dal 18 febbraio 2004
Credo che il problema sia il SelectedIndex, che ti restituisce un numero intero.
A te invece serve l' elemento della listbox di cui vuoi recuperare il campo value. Perciò prova ad utilizzare l'istruzione:

LButenti.SelectedItem.Value, dovrebbe funzionare correttamente.
Ciao, Gigi.

I soldi non fanno la felicità, però meglio disperarsi in una Ferrari che in un Ape 50
45 messaggi dal 18 febbraio 2004
Ooooops, vedo che Ricciolo mi ha preceduto....

I soldi non fanno la felicità, però meglio disperarsi in una Ferrari che in un Ape 50
187 messaggi dal 23 maggio 2002
Allora il codice è così:
Sub Rispondi(sender As Object, e As EventArgs)
Session("Destinatario")=LButenti.SelectedItem.Value
End Sub

e nell'html:
<asp:ListBox id="LButenti" runat="server" OnSelectedIndexChanged="Rispondi" Width="140px" Rows="20" Font-Size="8pt" Font-Names="verdana" DataTextField="Login" DataValueField="IDUtente" AutoPostBack="True" EnableViewState="False"></asp:ListBox>

Ora almeno nn da errore!!!
ehehe cmq ancora nn mi restituisce il famoso idutente, però stampa correttamente tutte le login!
45 messaggi dal 18 febbraio 2004
A volte l'errore sta nelle cose più semplici... prova a controllare come prima cosa che richiami la variabile di sessione in modo corretto, non si sa mai!

I soldi non fanno la felicità, però meglio disperarsi in una Ferrari che in un Ape 50
187 messaggi dal 23 maggio 2002
Quella sta apposto: se le attribuisco un qualsiasi altro valore lo stampa... secondo me proprio non riesce a leggere quel value che a me serve
sono disperata!
45 messaggi dal 18 febbraio 2004
Ok, allora, come giustamente suggeriva Ricciolo un pò più su, controlla di non fare il binding dei dati della listbox ad ogni caricamento della pagina. Quindi, qualora ciò avvenisse, aggiungi la seguente istruzione nel Page Load, immediatamente prima di qualunque altra istruzione, o comunque escludendo tutte quelle cose che non devono essere aggiornate ad ogni caricamento della pagina.

If not Page.isPostback then
---istruzioni---
End if

Inoltre nell'HTML abilita il ViewState.

I soldi non fanno la felicità, però meglio disperarsi in una Ferrari che in un Ape 50

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.