gama71
Messages postés21Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention29 mars 2007
-
23 août 2005 à 18:43
gama71
Messages postés21Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention29 mars 2007
-
26 août 2005 à 21:24
Bonjour , j'ai un probleme avec des éléments dans une table, il s'agit d'un htmlinputimage
qui me permet lorsque l'on clique dessus d'aller cher toute sles caractétistiques du produit.
Quand je démarre la page se charge normalement avec X record dans la table.
Je change de catégorie et j'ai Y record qui s'affichent, mais lorsque je clique sur le premier record de la catégorie, il me donne les caractéristique de la x+1 image. Au lieu de la première.
Le processus se passe ainsi
Page Load
clique button catégorie = traitement évènement "Click" + pageload pour afficher les record de la catégorie sélectionnée
Je clique alors sur l'image qui m'intérresse
de nouveau
Page Load
traitement "ServerClick" qui estcensé me renvoyer dans la page affichant les détails.
Le probleme est que si j'ai 3 record, je change de catégorie, j'en ai alors 10, je sélectionne le premier et il me renvoie les infos du 4èmé.
J'en conclu que le serveur a perdu les pédales, que lors du changement de catégorie, il a effectivement changer l'affichage mais n'a pas noté que la table a été vidée, le résultat est qu'il additionne des records, comme si il avais toujours les records de la première catégorie, son index est inchangé bien qu'a l'affichage tout soit correcte.
voici le code de mon page load qui fait le remplissage de la table, que faire de plus ?
try
{
//oleDbConnection1.Open();
aConnection.Open();
//create the datareader object to connect to table
OleDbCommand aCommand =
new OleDbCommand(cmdsql, aConnection);
gama71
Messages postés21Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention29 mars 2007 26 août 2005 à 21:24
Voila j'ai obtenu la réponse grace à un collègue
Le problème est qu'il faut absolument assigné la propiété ID des objets qui sont ajouté dynamiquement dan sla table , en l'occurence les HTMLImageButton,
de sorte que le serveur puisse les identifier. Comme le chamsp id était le meme pour tous , il ne faisiat pas vraiment la différence et quand je cliquait sur un bouton , il se mélangeait les pinceaux.
Donc dans le code plus haut , il suffit d'ajouter une ligne pour que lorsuqe l'on clique sur l'image , il traite les bonnes informations dans
le Click :
HtmlInputImage myimage = new
HtmlInputImage();
myimage.Src = LocImage[i];
myimage.Style.Add("height","40");
myimage.Style.Add("width","30");
myimage.Style.Add("runat","server");
myimage.Value = IDItem[i];
myimage.CausesValidation=
true;
myimage.ID "HtmlImgBton"+IDItem[i]; //IDItem[i] clé de la db identifiant l'article dans la db
gama71
Messages postés21Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention29 mars 2007 25 août 2005 à 17:34
N'ayant pas de réponse, j'ai du me résoudre à supprimer ma tabel et a la remplacer par 10 panel
contenant des textbox et imagebutton que je charge de la meme manière que ma table et dans ce cas les
button me renvoie bien vers les données que j'attend.
Je suppose que le fait de charger dynamiquement la table et de créer dynamiquement les Eventhandler associés aux
HTMLImageButton perturbe le serveur. ils ne vois pas que les éléments ne sont plus les meme ou que les Eventhanlder générer ne sont pas supprimés et recréés.
Bref pour moi il y a un bug