Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    83

    dropdownlist - non cambia valore selezionato

    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:

    codice:
    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:

    codice:
    .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:

    codice:
    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

    codice:
    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é?

  2. #2
    Ciao,
    ho anchio il medesimo problema ..... ho notato che popolando il dropdownlist a designtime tutto funziona egregiamente mentre se lo si carica a runtime non funziona nulla....


    Hai percaso trovato il motivo?

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da gigioland
    Ciao,
    ho anchio il medesimo problema ..... ho notato che popolando il dropdownlist a designtime tutto funziona egregiamente mentre se lo si carica a runtime non funziona nulla....


    Hai percaso trovato il motivo?

    :master: la stragrande maggioranza delle liste è popolata da codice, ed è strano che non funzioni niente.
    Questo è un esempio, scritto velocemente, che funziona

    codice:
    <script runat="server">
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                ModuloWeb.FillListControl(this.ListBox1, MioModulo.StringaConnessioneTest, "regioni", "nome_regione", "codice_istat_regione");
            }
        }
    
        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListBox s = (ListBox)sender;
            this.Label1.Text = s.SelectedItem.Text;
        }
    </script>
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.