Drop Down List: errore nella selezione del SelectedItem.Text
mbizzaro
mbizzaro non è online. Ultima attività: 27/01/2009 10.56.37mbizzaro
il 7 luglio 2008 alle 11.07
288 messaggi dal 05 agosto 2005
Ciao Ragazzi,
In una webform ho un bottone e un Detailsview agganciato a un codice boud nel codebehind.
All'interno di questa ho piazzato una DDL e l'ho riempita in questo modo (sub ovviamente richimata dal Protected Sub dv_details_1_DataBound):


Sub fill_DDL()

Dim lb_size As Label = TryCast(dv_details_1.FindControl("lb_size"), Label)
Dim ddl_size As DropDownList = TryCast(dv_details_1.FindControl("ddl_size"), DropDownList)

lb_size.Visible = False

Using myConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("test123").ConnectionString)
Const SQL As String = "SELECT distinct ImageSize.imgSize, ImageSize.imgnxsize FROM ImagePreview INNER JOIN ImageSize ON ImagePreview.imgCode = ImageSize.imgCode WHERE (ImagePreview.imgVisible = 1) AND (ImagePreview.imgCode = @imgCode) ORDER BY ImageSize.imgSize"

Dim myCommand As New SqlCommand(SQL, myConnection)

myCommand.Parameters.AddWithValue("@imgCode", Request.QueryString("imgCode").ToString)

Try

myConnection.Open()

Dim myReader As SqlDataReader = myCommand.ExecuteReader

Do While myReader.Read()

Dim NewItem As New ListItem
NewItem.Text = myReader("imgSize")
NewItem.Value = myReader("imgnxsize")

If NewItem.Value = "0" Then
NewItem.Text = myReader("imgSize") + " - Sold out"
End If

ddl_size.Items.Add(NewItem)

Loop

myReader.Close()
myConnection.Close()


Catch ex As Exception
Response.Redirect("~/Default2.aspx")
End Try

End Using


End Sub

----------------------------------------------------

Adesso, selezionato un item dalla DDL, al click del botton dovrei intercettare il SelectedItem.Text. Il mio problema invece è che mi viene selezionato il primo item della lista che non abbia questa condizione: NewItem.Value = "0" .

La DDL è fattoa così:

<asp:DropDownList ID="ddl_size" runat="server" AppendDataBoundItems="True" >
</asp:DropDownList>.

Avete un'idea del perchè non riesca a selezionare il corretto SelectedItem.Text?

Grazie

Marco
RE: Drop Down List: errore nella selezione del SelectedItem.Text
fabrica
fabrica non è online. Ultima attività: 05/07/2009 17.14.46fabrica Top Poster
il 7 luglio 2008 alle 11.20
www.fabricasoft.net | 1.488 messaggi dal 03 dicembre 2001
Sei certo di non rientrare nella procedura fill_DDL() anche in postback ?

Se è così ti verrà sempre restituito il primo valore.

Fabrizio Canevali

on "gli svizzeri sono indietro" ...
RE: Drop Down List: errore nella selezione del SelectedItem.Text
mbizzaro
mbizzaro non è online. Ultima attività: 27/01/2009 10.56.37mbizzaro
il 7 luglio 2008 alle 11.52
288 messaggi dal 05 agosto 2005
Ciao Fabrizio,

Ho piazzato un break point alla chiamata della Sub Fill_DLL ma ci passo solo alla chiamata della Protected Sub dv_details_1_DataBound.
Ho anche inserito un

If Not Page.IsPostBack Then
fill_DDL()
end if

all'interno della Protected Sub dv_details_1_DataBound, ma il risultato non cambia. Oltretutto, se passassi 2 volte o più dalla fill_DDL, mi aspetterei di vedere come primo item selezionato: Select size essendo la mia DDL fatta così:

<asp:DropDownList ID="ddl_size" runat="server" AppendDataBoundItems="True" >
<asp:ListItem>Select size</asp:ListItem>
</asp:DropDownList>

Invece mi viene selezionato il primo item della lista che non abbia questa condizione: NewItem.Value = "0"
RE: Drop Down List: errore nella selezione del SelectedItem.Text
fabrica
fabrica non è online. Ultima attività: 05/07/2009 17.14.46fabrica Top Poster
il 7 luglio 2008 alle 12.42
www.fabricasoft.net | 1.488 messaggi dal 03 dicembre 2001
Ciao, purtoppo non posso replicare il codice ... che sembra corretto.
Ti conviene fare un pò di debug e controllare la sorgente dati.

Fabrizio Canevali

on "gli svizzeri sono indietro" ...
RE: Drop Down List: errore nella selezione del SelectedItem.Text
mbizzaro
mbizzaro non è online. Ultima attività: 27/01/2009 10.56.37mbizzaro
il 7 luglio 2008 alle 14.12
288 messaggi dal 05 agosto 2005
Ho torovato.

Il problema è appunto sulla DDL. Penso sia un baco di Microsoft.

Ho cambiato il codice in maniera tale che NewItem.Value fosse sempre diverso per ogni item della mia DDL, in questo modo:

Do While myReader.Read()

Dim NewItem As New ListItem
NewItem.Text = myReader("imgSize")
NewItem.Value = myReader("imgSize") + CStr(myReader("imgnxsize"))

_size = myReader("imgnxsize")


If _size = "0" Then
NewItem.Text = myReader("imgSize") + " - Sold out"
End If

ddl_size.Items.Add(NewItem)

Loop



e adesso, al click e nel postback del bottone il SelectedItem.Text risulta corretto.
RE: Drop Down List: errore nella selezione del SelectedItem.Text
fabrica
fabrica non è online. Ultima attività: 05/07/2009 17.14.46fabrica Top Poster
il 7 luglio 2008 alle 15.09
www.fabricasoft.net | 1.488 messaggi dal 03 dicembre 2001
beh che dire un pò (m)bizzarro

Fabrizio Canevali

on "gli svizzeri sono indietro" ...
Microsoft Most Valuable Professional
RE: Drop Down List: errore nella selezione del SelectedItem.Text
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 7 luglio 2008 alle 15.52
bhe no non è affatto bizzarro ne è un baco, se ogni item ha il solito Value è impossibile per asp.net ma anche per un essere umano scegliere tra


<asp:ListItem>Ciao</asp:ListItem>
<asp:ListItem>Ciao</asp:ListItem>
<asp:ListItem>Ciao</asp:ListItem>
<asp:ListItem>Ciao</asp:ListItem>


ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Drop Down List: errore nella selezione del SelectedItem.Text
mbizzaro
mbizzaro non è online. Ultima attività: 27/01/2009 10.56.37mbizzaro
il 7 luglio 2008 alle 17.57
288 messaggi dal 05 agosto 2005
Ciao Marco, il problema è ben più grave:

la mia DDL è composta così:

<asp:ListItem>Ciao</asp:ListItem>
<asp:ListItem>Domani</asp:ListItem>
<asp:ListItem>Stasera</asp:ListItem>
<asp:ListItem>Domenica</asp:ListItem>

e, ad ogni item è agganciato un Text diverso, mentre il Value pùo essere uguale

2 pagine: [1] 2 Avanti >>

Vai a:
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.

COMMUNITY
ULTIMI MESSAGGI
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2009.6.9