Recuperation de donnée formulaire

tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005 - 24 mars 2004 à 18:23
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 6 déc. 2004 à 12:22
Bonjour,

je genere dynamiquement des webcontrols dans un formulaire.
Mais lorsque je valide le formulaire, comment faire pour recuperer toutes les valeurs des champs ?

j'ai essayé les foreach(Control oControl in Page.Controls){ mais les webcontrols dynamique ne s'affichent pas?!?

merci

14 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
24 mars 2004 à 20:10
J'ai mis une source recemment qui je pense pourrait t'aider :
http://www.aspfr.com/code.aspx?ID=21286

Cyril (Alias Jesusonline)
0
tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005
24 mars 2004 à 20:20
je ne vois comment tu arrives a parcourir tout les controls qui sont dans le placeholder ?

car dans mon cas je valide un formulaire ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
24 mars 2004 à 20:42
Je comprend pas la question

Cyril (Alias Jesusonline)
0
tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005
24 mars 2004 à 20:47
mon probleme est que j'ai genere tout mes webcontols dans mon placeHolder et je n'arrive pas a les recuperer lorsque je valide mon formulaire.
comment je peux le parcourir ? et acceder au webcontrols genéré ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
24 mars 2004 à 22:01
Tu veux le parcourir apres validation je suppose. Tout est pourtant expliqué dans ma source je pense.

Pour faire ce que tu veux tu fais :
LeTextBox = CType(Page.FindControl("TonTextbox" & i), TextBox)

si tu as generé plusieurs controles il ne faut pas oublier de mettre une ID pour chaque controle :

MonTextBox.ID = "TonTextbox" & i

si tu veux tout les controles tu n'as qu'a faire comme j'ai fait sur la source, tu cherches tout les controles de 0 à i

si ca fait tj pas ce que tu veux donne moi un exemple de code pour que je puisse mieux comprendre.

Cyril (Alias Jesusonline)
0
tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005
24 mars 2004 à 22:14
je vais essayer ce que tu me dis et te tenir au courant.

mais je me pose une question, pourquoi lorsque je fais un foreach(Control oControl in Page.Controls) ca ne me liste pas les webcontrol de mon placeHolder ?!?
0
tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005
24 mars 2004 à 22:34
Non ca ne marche pas non plus, impossible d'y acceder.

mon code en gros :

J'ai une class avec une methode qui genere les web controls dont en voila un bout :

oTextBox = new TextBox();
oTextBox.ID = cKeyValue.ToString();
oTextBox.Text = arrParamTable[3];
Table1.Rows[nI].Cells[0].Controls.Add(oLabel);
Table1.Rows[nI].Cells[1].Controls.Add(oTextBox);

ceci est ds une boucle, et rajoute des textbox dans une table.

Puis ds ma page aspx :

oSortedList.Add("1-Libellé-libelle-" + cLibelle,"text");
qui constitue un tableaux designant le label du webcontrol, l'id, type du webcontrol......

myHolder.Controls.Add(oGen.generateEdit(oSortedList));
Page.DataBind();

Puis le tableau HTML généré sera mis dans le placeHolder.

Voila, et quand je valide, impossible d'acceder aux webcontrols du placeHolder.

voila tu sais tout
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
24 mars 2004 à 23:04
Je dois etre bete mais je comprend pas et je vois pas l'erreur c'est surement du que je n'ai pas entierement toute la source, je crois que tu travail avec VS.net ? tu pourrais m'envoyer ton projet par mail (contact moi par les messages privé pour l'avoir) car la j'ai du mal à comprendre.

Moi non plus j'arrive pas à avoir accés au control ajouté dans le placeholder mais si tu connais cKeyValue tu as juste à faire page.findcontrol(cKeyValue) il faut bien sur que cKeyValue soit unique. Une petite astuce qui pourrait t'aider : dans la directive de la page mais l'attribut trace=true ca pourrait eventuellement t'aider

@+

Cyril (Alias Jesusonline)
0
tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005
24 mars 2004 à 23:26
en faite que tu es le code ou pas, le pb reste le meme, c'est que je ne peux pas acceder aux differents controls de mes placeholder, meme avec un findcontrol().

je deviens fou, mais merci a toi ;o)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 mars 2004 à 12:04
Envoie moi quand meme le code (si possible) j'aime bien comprendre et trouver une solution, donc si tu dis que tu ne peux pas acceder au control, c'est qu'il y a un problème, donc j'aimerais bien avoir la totalité du code pour essayer de comprendre ce problème

Cyril (Alias Jesusonline)
0
tobleronne Messages postés 104 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 1 mars 2005
25 mars 2004 à 14:33
ca y est c bon, j'avais mal declaré mon placeholder.
cool

merci a toi en tout cas
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 mars 2004 à 18:27
ouf c'est une bonne nouvelle :)

Cyril (Alias Jesusonline)
0
cs_nitrique Messages postés 344 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 4 avril 2011 1
6 déc. 2004 à 09:34
Il n'y a pas moyen de se passer du placeHolder ?
je trouve contraignant de devoir placer ce composant à chaque fois que l'on veut creer un composant en dynamique.

;)
David, à VERSAILLES
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
6 déc. 2004 à 12:22
en quoi est-ce contraignant ?
il y bien une autre méthode mais elle est moins joli, et on a moins de controle sur ou les controles se placent :
page.controls.add(c)

Cyril
0
Rejoignez-nous