Come recuperare un valore modificato della casella di testo associata a dati all'interno di datagrid

StackOverflow https://stackoverflow.com/questions/78847

  •  09-06-2019
  •  | 
  •  

Domanda

ASP.NET 1.1: ho un DataGrid su una pagina ASPX con associazione dati e visualizza un valore all'interno di una casella di testo.L'utente è in grado di modificare questo valore, quindi fare clic su un pulsante in cui il codice dietro fondamentalmente scorre ciascun DataGridItem nella griglia, esegue un FindControl per l'ID della casella di testo, quindi assegna il valore .Text a una variabile che viene quindi utilizzata per aggiornare il database.Il DataGrid viene ripristinato con i nuovi valori.

Il problema che sto riscontrando è che quando si assegna il valore .Text alla variabile, il valore recuperato è il valore di associazione dati originale e non il valore utente appena immesso.Qualche idea su cosa potrebbe causare questo comportamento?

Esempio di codice:

foreach(DataGridItem dgi in exGrid.Items)
{
    TextBox Text1 = (TextBox)dgi.FindControl("TextID");
    string exValue = Text1.Text; //This is retrieving the original bound value not the newly entered value
    // do stuff with the new value
}
È stato utile?

Soluzione

Quindi l'esempio di codice proviene dall'evento clic sul pulsante?

Sei sicuro di non riassociare la tua origine dati al postback?

Altri suggerimenti

Quando stai tentando di recuperare il valore dal TextBox?cioè.quando verrà eseguito l'esempio di codice fornito?

Se non lo hai già fatto, ti consigliamo di impostare un metodo di gestione per l'evento ItemCommand di DataGrid.Dovresti cercare il nuovo valore TextBox all'interno di quel metodo.Dovresti anche assicurarti che il tuo DataGrid non venga riassociato ai dati durante il postback.

Consiglio vivamente inoltre di leggere l'eccellente serie di articoli di Scott Mitchell sull'utilizzo del controllo DataGrid e di tutte le sue funzioni:http://aspnet.4guysfromrolla.com/articles/040502-1.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top