Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908

    Spiegazione codice per binding TextBox

    Ragazzi, non capisco una cosa: utilizzando il codice quì sotto la Textbox rimane vuota:

    codice:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.Sql;
    using System.Data.SqlClient;
    using System.Data.SqlTypes;
    
    
    public partial class Binding : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string[] list = new string[] {"Primo", "Secondo", "Terzo" };
    
    
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
            builder.DataSource = "localhost\\SQLExpress";
            builder.IntegratedSecurity = true;
            builder.InitialCatalog = "Daniele";
    
    
            using(SqlConnection conn = new SqlConnection(builder.ConnectionString))
            {
                conn.Open();
    
    
                using (SqlCommand query = new SqlCommand("SELECT * FROM Products WHERE Cognome='Marino'", conn))
                {
                    using (SqlDataReader lettura = query.ExecuteReader())
                    {
                        DropDownList1.DataSource = lettura;
                        DropDownList1.DataValueField = "Nome";
                        DropDownList1.DataTextField = "Cognome";
                        DropDownList1.DataBind();
    
    
                        while (lettura.Read())
                        {
                            TextBox1.Text = lettura["Nome"].ToString();
                        }
                        
                    }
                    }
                }
            }
    
    
               
            
        }
    invece facendo in questo modo, la TextBox viene correttamente popolata mentre la DropDownList resta vuota:

    codice:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.Sql;
    using System.Data.SqlClient;
    using System.Data.SqlTypes;
    
    
    public partial class Binding : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string[] list = new string[] {"Primo", "Secondo", "Terzo" };
    
    
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
            builder.DataSource = "localhost\\SQLExpress";
            builder.IntegratedSecurity = true;
            builder.InitialCatalog = "Daniele";
    
    
            using(SqlConnection conn = new SqlConnection(builder.ConnectionString))
            {
                conn.Open();
    
    
                using (SqlCommand query = new SqlCommand("SELECT * FROM Products WHERE Cognome='Marino'", conn))
                {
                    using (SqlDataReader lettura = query.ExecuteReader())
                    {
                        DropDownList1.DataSource = lettura;
                        DropDownList1.DataValueField = "Nome";
                        DropDownList1.DataTextField = "Cognome";
                        
    
    
                        while (lettura.Read())
                        {
                            TextBox1.Text = lettura["Nome"].ToString();
                        }
                        DropDownList1.DataBind();
                        
                    }
                    }
                }
            }
    Mi spiegate qual'è il problema? Come si può notare, l'unica cosa che ho fatto è stato spostare la riga di binding della Dropdown

    codice:
    DropDownList1.DataBind()
    qualche riga più in basso, ma non capisco il nesso con la TextBox.
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    non ho capito cosa vuoi ottenere.
    hai messo la SOVRASCRITTURA del Text in un ciclo, come minimo ti devi aspettare che c'e' soltanto l'ultimo valore....cosa vuoi ottenere ? Il nome del Sig. Marino ?

  3. #3
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Sapere perché senza spostare il codice il TextBox rimane vuoto.
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    al momento mi sfugge il misterioso motivo (probabilmente il bind messo prima fa scorrere il datareader alla fine, "consumandolo"), ma con un semplice debug è presto spiegato.
    piuttosto, non capisco lo scopo del tuo codice.

  5. #5
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da djciko Visualizza il messaggio
    al momento mi sfugge il misterioso motivo (probabilmente il bind messo prima fa scorrere il datareader alla fine, "consumandolo"), ma con un semplice debug è presto spiegato.
    piuttosto, non capisco lo scopo del tuo codice.
    Sto facendo degli esercizi...ovvio che ti sfugga lo scopo...
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Quote Originariamente inviata da dwb Visualizza il messaggio
    Sto facendo degli esercizi...ovvio che ti sfugga lo scopo...
    ok, ma falli sensati...quel codice non ha molto senso

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.