The Red Man
Messages postés111Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention13 juin 2010
-
29 mai 2008 à 10:21
The Red Man
Messages postés111Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention13 juin 2010
-
29 mai 2008 à 16:35
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.
The Red Man
Messages postés111Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention13 juin 20102 29 mai 2008 à 13:37
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.
}
}
yassinebennani
Messages postés249Date d'inscriptionsamedi 13 octobre 2007StatutMembreDernière intervention 2 mai 2014 29 mai 2008 à 12:30
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)
yassinebennani
Messages postés249Date d'inscriptionsamedi 13 octobre 2007StatutMembreDernière intervention 2 mai 2014 29 mai 2008 à 16:13
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)