2008-09-17 33 views
2

ASP.NET 1.1 - J'ai une grille de données sur une page ASPX qui est databound et affiche une valeur dans une zone de texte. L'utilisateur est capable de changer cette valeur, puis de cliquer sur un bouton où le code derrière se répète à travers chaque DataGridItem dans la grille, un FindControl pour l'ID de la zone de texte affecte ensuite la valeur .Text à une variable qui est ensuite utilisée pour mettre à jour la base de données. Le DataGrid est rebond avec les nouvelles valeurs. Le problème que j'ai est que lors de l'attribution de la valeur .Text à la variable, la valeur en cours de récupération est la valeur de base de données d'origine et non la valeur utilisateur nouvellement entré. Des idées sur ce qui peut causer ce comportement?Comment récupérer une valeur modifiée de zone de texte de données dans datagrid

Exemple de code

:

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 
     } 

Merci

Répondre

0

Ainsi l'exemple de code est de votre bouton événement click? Etes-vous sûr de ne pas relier votre source de données en postback?

+0

Salut Aros, Oui, il est dans le cas de Button_Click. Juste en vérifiant la liaison dans page_load ... Damn - c'est ça - la liaison en dehors de if (! Page.IsPostBack) étant appelée avant button_click. Merci – acripps

0

Quand essayez-vous de récupérer la valeur de TextBox? c'est-à-dire quand l'échantillon de code que vous avez fourni est-il exécuté?

Si ce n'est pas déjà fait, vous devez configurer une méthode de gestionnaire pour l'événement ItemCommand du DataGrid. Vous devriez rechercher la nouvelle valeur TextBox dans cette méthode. Vous devez également vous assurer que votre DataGrid n'est pas re-databound sur la publication.

Je recommande également fortement la lecture grâce à une excellente série d'articles de Scott Mitchell sur l'utilisation du contrôle DataGrid et l'ensemble de ses fonctions: http://aspnet.4guysfromrolla.com/articles/040502-1.aspx

+0

Merci pour la réponse - c'était dû à la remontée de la datagrid en postback mais Aros est arrivé en tête. Va vérifier le lien – acripps