Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Valore testo DropDownList

    Ciao,

    sono alle prime armi nello sviluppo web, qualcuno sa come si fa...
    ho due dropdownlist, una popolata con i nomi di alcuni paesi e una seconda che a seconda della scelta del paese viene popolata con i nome delle città di tale paese.. il fatto è che mi sfugge qualcosa, non riesco a prendere il valore del testo della 1° combobox e passare come parametro per la seconda in modo da popolarla..
    per ora ho fatto così:

    # 1 DDL

    codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            cbCountry.DataSource = objL.GetCountriesAD()
            cbCountry.DataMember = "CountriesAD"
            cbCountry.Enabled = True
            cbCountry.DataValueField = "Countries"
            cbCountry.DataTextField = "Countries"
            cbCountry.DataBind()
            cbCountry.AutoPostBack = True
        End Sub
    # 2° DDL

    codice:
    Protected Sub cbCountry_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbCountry.TextChanged
            cbCity.DataSource = objL.GetCitiesAD( cbCountry.Text ) ' IL PARAMETRO è IL NOME DEL PAESE, CHE VIENE PRESO DALLA 1° DROPDOWNLIST
            cbCity.DataMember = "CitiesAD"
            cbCity.Enabled = True
            cbCity.DataValueField = "Cities"
            cbCity.DataTextField = "Cities"
            cbCity.DataBind()
        End Sub
    GRAZIEEEEEEEEE

  2. #2
    quindi "cbCountry.Text" è la proprietà che contiene il valore selezionato nel menu a tendina??.. o magari è per le impostazioni di post \ get ??

  3. #3
    si col text dovresti leggere il testo selezionato, altrimenti puoi anche usare
    ddList.SelectedItem.Text() o ddList.SelectedItem.Value()

    Ciao
    ...NO ONE IS INNOCENT ANYMORE...

  4. #4
    Ciao..

    ho provato con tutte quelle proprietà.. ma è che propio non mi restituisce il valore della stringa della dropdownlist.. l'unica cosa che fa vedere il seguente messaggio: "the search filter cannot be recognized" ..

    .. La seconda DDList è apposto, se passo per dire il parametro manualmente funziona..

    codice:
    cbCity.DataSource = objL.GetCitiesAD("ITALIA")
    non sarà un problema con post \ get \ query string ?? io non capisco molto di sviluppo web..

    GRAZIE ANCORA

  5. #5
    Ciao, mai sentito quel tipo di errore; ;
    Hai provato per caso a dichiarare una variabile stringa e ad assegnarle il valore della selezione della dropdownlist?

    codice:
    string sValoreSelezionato = ddList.SelectedItem.Text();
    e poi utilizzarlo come parametro del tuo metodo :

    codice:
    cbCity.DataSource = objL.GetCitiesAD(sValoreSelezionato);
    ...NO ONE IS INNOCENT ANYMORE...

  6. #6
    si l'ho provato con..

    ddList.SelectedItem.Text()..
    ddList.SelectedItem.Value()..
    ddList.SelectedValue()..

    il fatto è che restituisce sempre una striga nulla e viene fuori quel errore li.. che anche io non ho mai visto..

    cmq "objL" è un oggetto puntatore ad una classe che in questo caso
    invoca il metodo "GetCitiesAD(string)" che ha come parametro una stringa,
    e che restituisce un DATATABLE formato di un'unica colonna con i nomi delle città
    del paese passato come parametro..

    questo passaggio alla fine serve per fungere da filtro..

    stesso discorso per "objL.GetCountriesAD()" della prima DDList che restituisce
    un datatable formato da un'unica colonna con i nomi dei paesi, ma ovviamente non ha parametro..

    questo programma inizialmente l'ho fatto come winapp e funziona,
    ma adesso ho avuto la necessità di convertilo in webapp..

    grazie

  7. #7
    senti e provi ad utilizzare una casella di testo per usarla come faresti con la ddlList, almeno riusciamo a capire se il problema è insito nella DDL oppure da qualche altra parte...

    in questo modo :

    codice:
    GetCitiesAD(txtTuoCampo.Text());
    ...NO ONE IS INNOCENT ANYMORE...

  8. #8
    RISOLTO!!

    il problema era che ho messo il binding della prima DDL nella Load e considera che quando cambio l'indice di questa drop down, prima di gestire l'evento di SelectedIndexChanged passa dalla load e riesegue il binding.
    mi è bastato gestire la proprietà Page.IsPostBack:

    codice:
    If Not Page.IsPostBack Then
    GetCitiesAD(cbCountry.SelectedValue)
    ...
    GRAZIE MILLE PER L'AIUTO!!

    DAVVERO MOLTO GENTILE..

    CIAO

  9. #9
    ...NO ONE IS INNOCENT ANYMORE...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.