2009-04-07 9 views
1

Je travaille sur une application Web .net (C#). Récemment, un défaut est survenu qui montrait que lorsque deux utilisateurs étaient connectés à l'application en même temps, ils ne pouvaient pas mettre à jour les valeurs sans actualiser la page. Lorsque j'ai examiné le problème, j'ai découvert que l'auteur du code a utilisé des jeux de données statiques. J'ai changé les jeux de données pour ne pas être statiques et tout fonctionne très bien.Le code pense que la zone de texte Pied de page Datagrid est vide

Toutefois, ce problème concerne de nombreuses pages de l'application et je dois le corriger partout. Sur certaines de ces pages, l'application utilise des ensembles de données pour lier des données à des données. Les DataGrid sont renseignés avec les informations de l'ensemble de données et le pied de page contient des zones de texte et un bouton Ajouter pour ajouter des lignes supplémentaires. Voici où le problème commence:

Lorsque la page utilisait des ensembles de données statiques et que l'utilisateur tentait d'ajouter une ligne via l'interface, tout fonctionnait correctement. Toutefois, lorsque je l'ai modifié pour utiliser des jeux de données qui n'étaient pas statiques (ils sont chargés chaque fois que la page se charge) et que l'utilisateur tente d'ajouter une ligne, le code pense que la zone de texte est vide. le texte que j'ai entré) et la validation du champ vide échoue et un message est affiché. Est-ce que quelqu'un peut me dire pourquoi sur Terre cela se passe-t-il? Pourquoi voit-il le texte lorsque l'ensemble de données est statique (l'ensemble de données ne remplit JAMAIS la ligne de pied) et ne voit pas le texte lorsqu'il n'est pas statique? Un aperçu serait génial!

Merci d'avance!

Répondre

2

Il s'avère qu'il y avait un problème avec la façon dont la grille était liée.

La liaison existait lors de l'instanciation des ensembles de données. Cela signifie que chaque fois que la page est chargée, la liaison se reproduit et le texte est vide. C'est bizarre si l'on considère que la commande item a l'air d'être en train d'être exécutée avant le chargement de la page, mais la grille de données ne l'a pas aimée de toute façon. Je me suis déplacé où la liaison se produisait de sorte que cela se produise seulement une fois quand la page se charge (et bien sûr, cela arrive quand quelque chose est ajouté à la grille).

Cela semblait faire l'affaire!

Questions connexes