buonasera a tutti... sto usando visual studio e vb.net e ho il seguente problema con una dropdownlist di nome comboannoaccademico che popolo con la seguente funzione da me creata:
Public Function popolaCombo(ByVal oggetto As DropDownList, ByVal proc As String) As String
Dim strConnectionString As String = "..."
'apro il data adapter
Dim dataSet As DataSet = New DataSet
Dim conn As New SqlClient.SqlConnection(strConnectionString)
Dim adapter As New SqlClient.SqlDataAdapter
Dim procedura As New SqlClient.SqlCommand(proc, conn)
procedura.CommandType = CommandType.StoredProcedure
adapter.SelectCommand = procedura
adapter.Fill(dataSet)
'inserisco le righe contenute nel dataset nel combo oggetto
Dim thisTable As DataTable
Dim li As ListItem
For Each thisTable In dataSet.Tables
' For each row, print the values of each column.
Dim myRow As DataRow
For Each myRow In thisTable.Rows
Dim myCol As DataColumn
For Each myCol In thisTable.Columns
li = New ListItem
li.Text = myRow(myCol).ToString
li.Selected = False
oggetto.Items.Add(li)
Next myCol
Next myRow
Next thisTable
End Function
richiamata nel seguente modo:
.popolaCombo(ComboAnnoAccademico, "select_all_annoacc")
dove select_all_annoacc è la stored procedure che seleziona i dati. i dati nella dropdownlist sono visualizzati correttamente.
di default, deve essere visualizzato l'anno accademico attuale, quindi:
ComboAnnoAccademico.SelectedValue = "05/06"
e anche qui tutto ok, visualizza correttamente il valore che gli passo.
il problema sta nel recupero del valore selezionato. ho impostato la proprietà autopostback a true e, la routine di gestione del combo è la seguente
Private Sub ComboAnnoAccademico_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboAnnoAccademico.SelectedIndexChanged
Response.Redirect("ElencoProgetti.aspx?anno=" & ComboAnnoAccademico.SelectedItem.Text)
End Sub
quando carico la pagina, l'indirizzo è
.../ElencoProgetti.aspx
e, qualsiasi valore clicco nella dropdownlist, ho sempre selezionato il valore "05/06"
/ElencoProgetti.aspx?anno=05/06
perché nella query string ho sempre lo stesso valore?? ho provato a metterlo in sessione, a metterlo in una label nascosta ma il valore selezionato è sempre 05/06. perché?