cutkemist
Messages postés3Date d'inscriptionlundi 23 janvier 2006StatutMembreDernière intervention25 septembre 2006
-
25 sept. 2006 à 12:44
crilun
Messages postés114Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention17 octobre 2006
-
26 sept. 2006 à 18:11
Bonjour,
j'espère me trouver dans la bonne section du forum.
J'ai une question de base, qui semblera certainement très bas niveau pour beaucoup d'entre vous.
J'ai une webform avec une des controles asp (table etc)
Je dois lui ajouter dynamiquement un tableau et un nombre de checkBox et de listBox variables en fonction de l'utilisateur connecté.
Donc je fais un truc du style
if (!maPage.IsPostBack)
{
maPage.controle.add(monTableau);
monTableau.EnableViewState= true;
une fois la page chargée l'utilisateur fait joujou avec les checkBox, les listes, etc.
Puis il clique sur le bouton de validation.
et c'est la qu'arrive mon problème, je ne sais pas comment retrouver mes checkBox, et comment faire pour que le tableau se réaffiche.
J'ai bien réussit à conserver le tableau en le plaçant en design et en le remplissant mais je veux pouvoir le faire dynamiquement;
En gros j'aimerais avoir le moins de choses dans ma webform de base, coté design, et tout gérer coté code behind, C#
(c'est pas évident de passer du monde winForm au monde webForm)
Wouarf j'espère que vous arriverez à me comprendre
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 25 sept. 2006 à 19:33
Salut,
Attention, en webform on est dans un monde déconnecté, donc quand ta requête est finie, les objets créés sont perdus. Donc tu dois les recréer à chaque PostBack pour t'en servir à nouveau.
Dans ton Page_Load, mets toutes les déclarations, instanciations et ajout de contrôles à la page. Et ne mets dans le if(!maPage.IsPostBack) que la partie où tu affectes une valeur par défaut à certains champs (si il y en a une).
Ainsi tes contrôles seront à nouveau instanciés au PostBack, mais cette fois ils contiendront les valeurs choisies par l'utilisateur (et comme il y aura PostBack, le contenu de ton if() ne sera pas exécuté et les contrôles contiendront bien ce qu'il faut )
crilun
Messages postés114Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention17 octobre 2006 26 sept. 2006 à 18:11
crilun
quand tu cree dynamiquement des controles tu dois leur affecté un ID de maniere a pouvoir les retrouver et donc garder l'etat au post
back de la page j'ai d"aj repondu a une question sur le meme principe ici vas voir ca t'aideras surement.