Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    174

    [ASP.NET] non prende i valori aggiornati delle textBox

    Ciao a tutti,
    Ho un piccolo form che va a leggere i dati da una tabella e li inserisce nelle varie textBox. In questa pagina l'utente potra modificarli.
    Quando l'utente vorrà salvare il tutto premerà su un bottone che farà eseguire la funzione di update che andrà a leggere direttamanete i valori delle textBox.

    Il problema é che se per esempio nella textBox nome quando carico la pagina ho "Pippo", la modifico in "Zippo", quando vado a leggere il contenuto della textBox pe fare l'update leggo ancora pippo! Perchè?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Probabilmente associ i dati verso la textbox nel page load senza assicurarti che nn ti trovi in postback, pero' dovresti postare del codice .. cosi è difficile.


  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    174
    pagina aspx:

    codice:
    Company
    
            <asp:TextBox ID="txtCompany" runat="server" Width="226px"></asp:TextBox>
            
    
            
    
            Contact
    
            <asp:TextBox ID="txtContact" runat="server" Width="224px"></asp:TextBox>
            
    
            
    
            Telephone
    
            <asp:TextBox ID="txtTel" runat="server" style="margin-bottom: 0px" 
                Width="225px"></asp:TextBox>
            
    
            
    
            E-mail
    
            <asp:TextBox ID="txtMail" runat="server" Width="223px"></asp:TextBox>
            
    
            
    
            Address
    
            <asp:TextBox ID="txtAddress" runat="server" Width="222px"></asp:TextBox>
            
    
            
    
            Cap
    
            <asp:TextBox ID="txtCap" runat="server" Width="96px"></asp:TextBox>
            
    
            
    
            City
    
            <asp:TextBox ID="txtCity" runat="server" Width="227px"></asp:TextBox>
            
    
            
    
            Country
    
            <asp:TextBox ID="txtCountry" runat="server" Width="221px"></asp:TextBox>
            
    
            
    
            <asp:Button ID="btnUpdate" runat="server" Text="Update" />

    codice vb
    codice:
     
    'Riempimento dei campi
    Private Sub fillForm()
            connectDb()
            myCommand = New SqlCommand("SELECT company, contact, tel, email, address, cap, city, country  FROM clients WHERE id_client = '" & Session.Item("User") & "'", myConnection)
            dr = myCommand.ExecuteReader()
    
            If dr.Read() Then
                txtCompany.Text = Trim(dr(0).ToString)
                txtContact.Text = Trim(dr(1).ToString)
                txtTel.Text = Trim(dr(2).ToString)
                txtMail.Text = Trim(dr(3).ToString)
                txtAddress.Text = Trim(dr(4).ToString)
                txtCap.Text = Trim(dr(5).ToString)
                txtCity.Text = Trim(dr(6).ToString)
                txtCountry.Text = Trim(dr(7).ToString)
            End If
            myConnection.Close()
        End Sub
    
    
    
    
    'Lettura campi per update
    Function updateData()
            connectDb()
            myCommand = New SqlCommand("UPDATE clients SET company =  @company, contact = @contact, tel = @tel, email = @email, " + _
                                       "address = @address, cap = @cap, city = @city, country = @country " + _
                                       "WHERE id_client = '" & Session.Item("User") & "'", myConnection)
    
            myCommand.Parameters.AddWithValue("@company", txtCompany.Text)
            myCommand.Parameters.AddWithValue("@contact", txtContact.Text)
            myCommand.Parameters.AddWithValue("@tel", txtTel.Text)
            myCommand.Parameters.AddWithValue("@email", txtMail.Text)
            myCommand.Parameters.AddWithValue("@address", txtAddress.Text)
            myCommand.Parameters.AddWithValue("@cap", txtCap.Text)
            myCommand.Parameters.AddWithValue("@city", txtCity.Text)
            myCommand.Parameters.AddWithValue("@country", txtCountry.Text)
            myCommand.ExecuteNonQuery()
            myConnection.Close()
    
            Response.Redirect("client_home.aspx")
    
        End Function

  4. #4
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    come richimai fillForm()??

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    174
    fillforum lo richiamo nell Load della pagina:

    codice:
     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Session.Item("User") <> "" Then
                Dim strUser As String = Session.Item("User")
                fillForm()
    
            Else
                form1.InnerHtml() = " Non hai i diritti per entrare in questa pagina!"
    
                'MsgBox("Non hai i diritti per entrare in questa pagina!")
                Response.Redirect("../index.aspx")
            End If

  6. #6
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Originariamente inviato da canax
    fillforum lo richiamo nell Load della pagina:

    codice:
     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Session.Item("User") <> "" Then
                Dim strUser As String = Session.Item("User")
                fillForm()
    
            Else
                form1.InnerHtml() = " Non hai i diritti per entrare in questa pagina!"
    
                'MsgBox("Non hai i diritti per entrare in questa pagina!")
                Response.Redirect("../index.aspx")
            End If
    Prova con
    codice:
     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
    If Not IsPostBack
            If Session.Item("User") <> "" Then
                Dim strUser As String = Session.Item("User")
                fillForm()
    
            Else
                form1.InnerHtml() = " Non hai i diritti per entrare in questa pagina!"
    
                'MsgBox("Non hai i diritti per entrare in questa pagina!")
                Response.Redirect("../index.aspx")
            End If
    End If
    Se nn fai cosi ad ogni postback le textBox ti vengono ricaricate con i valori del DB

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    174
    Funziona, sei un grande!

    L'errore era dove nn avrei mai pensato

    Grazie mille!

  8. #8
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Originariamente inviato da canax
    Funziona, sei un grande!

    L'errore era dove nn avrei mai pensato

    Grazie mille!

    Se posso darti un consiglio ti dico di imparare ad usare il debugger di visual studio perche ti permette sia di capire prima come avviene l'esecuzione del tuo codice ed inooltre ti permette di controllare qualsiasi oggetto che si trovi al suo interno.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    174
    Lo usavo beh, ma non riuscivo proprio a capire perche non cambiava il valore.

    Grazie cmq per il consiglio...

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.