Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: dropdownlist e xml

  1. #1

    dropdownlist e xml

    ciao ho un problema con una dropdownlist popolata prendendo i dati da un file xml.

    uso il seguente codice per popolarla

    Dim dstDataSet As New DataSet
    dstDataSet.ReadXml(Server.MapPath("nazioni.xml"))
    With stato
    .DataSource = dstDataSet
    .DataValueField = "nome"
    .DataTextField = "nome"
    .DataBind()
    End With

    poi la dichiaro così
    Stato : <aspropdownList id="stato" style="WIDTH: 359px;" runat="server" />

    ma quando faccio il postback e cerco di leggere stato.text risulta sempre vuoto.

    quale potrebbe essere l'errore???

    grazie mille

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: dropdownlist e xml

    Originariamente inviato da erprincipe
    ciao ho un problema con una dropdownlist popolata prendendo i dati da un file xml.

    uso il seguente codice per popolarla

    Dim dstDataSet As New DataSet
    dstDataSet.ReadXml(Server.MapPath("nazioni.xml"))
    With stato
    .DataSource = dstDataSet
    .DataValueField = "nome"
    .DataTextField = "nome"
    .DataBind()
    End With

    poi la dichiaro così
    Stato : <aspropdownList id="stato" style="WIDTH: 359px;" runat="server" />

    ma quando faccio il postback e cerco di leggere stato.text risulta sempre vuoto.

    quale potrebbe essere l'errore???

    grazie mille
    Non mi sembra che ci sia un errore nel codice da te postato (tranne il fatto che ValueField e TextField coincidano, avrei messo un ID come ValuedField), dovresti vedere la gestione degli eventi, dove metti il codice che prende il valore di TextField? Io lo metterei nel Page_PreRender

  3. #3
    ciao, grazie per la risposta.

    i valori coincidono perchè mi serve memorizzare il testo con il nome dello stato nel db.

    la dropdownlist fa parte di un form. sul click del pulsante passo tutto a

    Sub memorizza(Source as Object, E as EventArgs)


    qui stato.text risulta vuoto

  4. #4
    ho provato anche
    stato.DataValueField e stato.DataTextField


    ma nulla!!!!

    non capisco dove sia l'errore

  5. #5
    nel page_Load devi mettere il tuo codice in questa condizione

    if not page.ispostback then

    ' qui metti il tuo codice

    End If

    così facendo il tuo codice viene eseguito solo al caricamento della pagina e quindi all'evento che ti inseressa ti risulta caricato il valore selezionato

    asp.net riesce da solo tra i vari postback della pagina a visualizzare gli elementi della combo

    ciao
    michele

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Per prendere i valori selezionati, (una volta che funziona) fai :

    stato.SelectedItem.Text (per il testo)
    stato.SelectedItem.Value (per il valore)

  7. #7
    Originariamente inviato da erprincipe
    ho provato anche
    stato.DataValueField e stato.DataTextField


    ma nulla!!!!

    non capisco dove sia l'errore
    ciao, ho corretto così

    if not page.ispostback then
    Dim dstDataSet As New DataSet
    dstDataSet.ReadXml(Server.MapPath("nazioni.xml"))
    With stato
    .DataSource = dstDataSet
    .DataTextField = "nome"
    .DataBind()
    End With
    end if

    però poi cliccando sul pulsante del form si attiva

    Sub memorizza(Source as Object, E as EventArgs)

    e qui stato.text è vuoto come prima


  8. #8
    Originariamente inviato da Micky^
    nel page_Load devi mettere il tuo codice in questa condizione

    if not page.ispostback then

    ' qui metti il tuo codice

    End If

    così facendo il tuo codice viene eseguito solo al caricamento della pagina e quindi all'evento che ti inseressa ti risulta caricato il valore selezionato

    asp.net riesce da solo tra i vari postback della pagina a visualizzare gli elementi della combo

    ciao
    michele
    mi da questo errore

    System.NullReferenceException: Object reference not set to an instance of an object.

  9. #9
    beh forse l'errore è su stato.text

    per recuperare il valore selezionato devi fare

    stato.SelectedValue.Tostring

  10. #10
    Originariamente inviato da Micky^
    beh forse l'errore è su stato.text

    per recuperare il valore selezionato devi fare

    stato.SelectedValue.Tostring
    mi dispiace continuare a stressare ma non funziona nemmeno così.sempre vuoto.

    tra l'altro nello stesso form ho anche questa drop

    Ruolo:
    <aspropDownList id="ruolo" style="WIDTH: 358px;" runat="server">
    <asp:ListItem>Titolare</asp:ListItem>
    <asp:ListItem>Dirigente</asp:ListItem>
    <asp:ListItem>Responsabile marketing</asp:ListItem>
    </aspropDownList></td>

    e ruolo.text funziona perfettamente

    sto per piangere!!!

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.