Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490

    popolare DropDownList da database

    in una pagina asp.net con codice c# ho due DropDownList dove devo popolare la secondo sulla base della scelta della prima andando a leggere da un db.

    qualcuno può aiutarmi

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    36
    Ciao,
    Con l' evento SelectedIndexChanged intercetti ogni cambiamento di selezione della prima combo
    e dentro la funzione dell' evento ti recuperi il testo del valore selezionato con nomeDropDownList.SelectedItem.Text e fai la query per caricare il dataTable con cui popolerai la seconda DropDownList

  3. #3
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    ciao grazie per avermi risposto, non ho mai fatto una cosa del genere, ma così facendo posso inserire una query al db di selezione alla tabella con il valore della prima dropdownlist e con il risultato posso popolare la seconda?

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    La risposta è stata data. Solo a titolo di esempio, questo è un caso di province-comuni

    pagina aspx
    codice:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="popolare_dropdown_provincie_comuni.aspx.vb" Inherits="CorsoApogeo_wrox_controlli_iterativi_popolare_dropdown_provincie_comuni" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Pagina senza titolo</title>
        <link href="../../../stili/Styles.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <h3>
            Popolare due DropDown</h3>
        <hr width="100%" size="1">
        <form id="Form1" method="post" runat="server">
            
    
    
                Provincie:
                <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataTextField="nome" DataValueField="id_provincia">
                </asp:DropDownList>comuni:
                <asp:DropDownList ID="DropDownList2" runat="server" DataTextField="nome_comune" DataValueField="id_comune" EnableViewState="False">
                </asp:DropDownList></p>
            
    
    
                <asp:Label ID="Label1" runat="server"></asp:Label></p>
        </form>
    </body>
    </html>

    pagina di codice
    codice:
    Option Strict On
    
    Partial Class CorsoApogeo_wrox_controlli_iterativi_popolare_dropdown_provincie_comuni
        Inherits System.Web.UI.Page
    
        Private Sub PopolaProvincie()
            Dim sql$ = "SELECT ID_PROVINCIA, NOME FROM PROVINCE ORDER BY NOME"
    
            Dim Reader As OleDbDataReader
    
            Try
                Reader = msole.GetDataReader(StringaConnessioneTest, sql)
                Me.DropDownList1.DataSource = Reader
                Me.DropDownList1.DataBind()
    
    
            Catch er As Exception
                Me.Label1.Text = er.Message
    
            Finally
                Reader.Close()
            End Try
    
        End Sub
    
        Private Sub PopolaComuni(ByVal id_provincia%)
            Dim sql$ = "SELECT ID_COMUNE, NOME_COMUNE FROM COMUNI WHERE ID_PROVINCIA = " & id_provincia.ToString & " ORDER BY NOME_COMUNE"
    
            Dim Reader As OleDbDataReader
    
            Try
                Reader = msole.GetDataReader(StringaConnessioneTest, sql)
                Me.DropDownList2.DataSource = Reader
                Me.DropDownList2.DataBind()
    
    
            Catch er As Exception
                Me.Label1.Text = er.Message
            Finally
                Reader.Close()
    
            End Try
    
        End Sub
    
    
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Inserire qui il codice utente necessario per inizializzare la pagina
            If Not Me.IsPostBack Then
                PopolaProvincie()
                PopolaComuni(CType(Me.DropDownList1.SelectedItem.Value, Integer))
            End If
    
        End Sub
    
    
        Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
            PopolaComuni(CType(Me.DropDownList1.SelectedItem.Value, Integer))
        End Sub
    
    End Class


    Naturalmente è in basic, da prendere solo come spunto.
    Pietro

  5. #5
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    grazie per l'esempio;
    guarda caso mi serve prorpio per provincia->comune che devo mettere un un form che già funziona ma purtroppo non viene eseguito come runat=server, come posso ovviare a questo problema?

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da barnico
    grazie per l'esempio;
    guarda caso mi serve prorpio per provincia->comune che devo mettere un un form che già funziona ma purtroppo non viene eseguito come runat=server, come posso ovviare a questo problema?
    ma i controlli server funzionano solo dentro un form runat server :master:
    Pietro

  7. #7
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    appunto;
    come faccio a risolvere questo problema, io ho un tasto submit che mi invia il form su un'altra pagina, come potrei risolvere il problema facendo in modo che il tutto funzioni in modo server e se clicco sul pulsante invia invia tutti i dati su questa seconda pagina?
    non ho esperienza, potresti darmi una mano a capire come fare?

  8. #8
    nella pagina che riceve i dati ti fai le Request dei campi che stavano nel form della tua pagina iniziale.

    Per capirci, se hai un campo che si chiama txtNome dove ricevi i parametri devi fare :

    codice:
    Nome = Request("txtNome")
    ...NO ONE IS INNOCENT ANYMORE...

  9. #9
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    non è questo il problema;
    attualmente ho una pagina asp.net con cidice c# dove ho un form che al clic del pulsante submit invia i dati alla pagina prova.aspx, dove vengono catturati i dati +/- come dici tu, il form della pagina non è dichiarato runat=server e nall'action del form c'è la pagina prova.aspx;

    se voglio implementare il metodo suggerito gentilemnte dall'amico pietro09 bisogno come prima cosa attivare il form in modo atrun=server in quanto i controlli DropDownList sono runat=server;

    il mio problema è questo, dichiarando il form runat=server per implementare il metodo suggerito, se faccio clic la pagina viene ricaricata non viene più inviata alla pagina prova.aspx

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da barnico
    non è questo il problema;
    attualmente ho una pagina asp.net con cidice c# dove ho un form che al clic del pulsante submit invia i dati alla pagina prova.aspx, dove vengono catturati i dati +/- come dici tu, il form della pagina non è dichiarato runat=server e nall'action del form c'è la pagina prova.aspx;

    se voglio implementare il metodo suggerito gentilemnte dall'amico pietro09 bisogno come prima cosa attivare il form in modo atrun=server in quanto i controlli DropDownList sono runat=server;

    il mio problema è questo, dichiarando il form runat=server per implementare il metodo suggerito, se faccio clic la pagina viene ricaricata non viene più inviata alla pagina prova.aspx
    Finalmente una spiegazione: meglio tardi che mai

    Metti il form runat server, come fanno tutti.
    Il pulsante lo dichiari in modo che invii i dati in un'altra pagina

    <asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="prova.aspx" />
    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.