Problèm CheckBoxList [Résolu]

Signaler
Messages postés
112
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 juin 2010
-
Messages postés
112
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 juin 2010
-
Bonjour (eh oui c'est encore moi) !


Il y a un problème que je n'arrive pas résoudre avec un CheckBoxList.


Mon checkboxlist est peuplé grace à un objectdatasource, ce checkboxkist se trouve dans une view et donc dans une multiview.

Le problème est la suivante : lorsque je lance la page aspx, j'aperçoi tous les éléments, or lorsque j'essai de connaître le nombre par exemple ou de manipuler ces données, VS me dit qu'il y a aucun élément.

Avez-vous une solution ? :)

7 réponses

Messages postés
112
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 juin 2010
2
J'ai trouvé la solution !


J'ai regardé comment ASP .NET fonctionne à propos des enchainement des évenements. Mon problème est dû au postback. Ce que j'ai fais c'est de tester le postback comme ceci  dans la méthode Page_Load:


protected void Page_Load(object sender, EvenArgs e)
{
   if (!IsPostBack)
  {
      this.DataBind(); // cette ligne permet de garder intact les éléménts d'une ddl ou cbl ou autre à chaque chargement d'une page.
  }
}

j'espere que j'ai pas des bêtises en expliquant.
Messages postés
249
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
2 mai 2014

Bonjour

essay de passer par FindControl.

CheckBoxList oList = (CheckBoxList)TonView.FindControl("L'ID de ton CheckBoxList")

Les fins justifient les moyens_________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)
Messages postés
112
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 juin 2010
2
j'ai déjà essayé avant de demander de l'aide ! Mais ça ne fonctionne pas.

J'ai plusieurs view et dans certaine de ces view j'ai des checkboxlist et le problème est identique pour tous les checkboxlist.

C'est bizarre.
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

      this.DataBind(); // cette ligne permet de garder intact
les éléménts d'une ddl ou cbl ou autre à chaque chargement d'une page.

"garder intact" : en fait ca permet de ne pas rebind le contrôle une nouvelle fois et donc de ne pas perdre la valeur qui a été sélectionée.
Messages postés
249
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
2 mai 2014

Excusez moi de vous dire que this.DataBind() n'a rien à voir avec ce que vous avez expliquer le this.DataBind() permet tous simplement d'attacher les données aux contrôles de la page dans un sens qui peut être bidirectionnel, mais celui qui est résponsable de ne pas rebinder les contrôles à chaque fois c'est le  if (!IsPostBack) cette condition renvoi true si c'est le premier chargement de la page après les rendus des controles avec leurs données sont stocké dans le ViewState et c'est grâce à celle-ci que les controles sont gardés intact et la condition .if (!IsPostBack) renvoi false et elle saute le this.DataBind().

Les fins justifient les moyens_________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

euh j'ai jamais dit ça ...

j'ai pas copié assez de code :D mais tkt je sais ce que IsPostBack veut dire ...
Messages postés
112
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 juin 2010
2
Bah merci pour les explications ! ça devient de plus en plus clair dans ma tete ! merci à vous.