Problème rechargement DropDownList [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,

Je suis actuellement confronté à un problème. En utilisant un UpdatePanel dans lequel j'ai un drop down list déjà peuplé dés le chargement de la page grace à un XmlDataSource qui se trouve dans la page aspx. lorsque je souhaite ajouter une donnée, bien évidemment, je créé aussi un element dans le fichier XML. Le soucis est là. Le dropdownlist ne se "repeuple" pas. je dois malheureusement faire un "F5" pour voir enfin le nouvel element ajouté.

Avez-vous une solution à ce problème ?

Merci !

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 trouver la solution. Il fallait juste une ligne de code lors du click :


ControlDropDownList.DataBind();

et tout se charge automatiquement.

Pourtant j'avais déjà écrit cette ligne dans Page_Load mais ça n'a pas marché. Si quelqu'un à une explication faite mois signe ! :)

Maintenant il ne reste plus qu'à gérer le gridview.

Je vous tiendrai au courant.
Messages postés
249
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
2 mai 2014

Bonjour

Red Man il faut bien comprendre le cycle de vie d'une page asp.net lorsque tu fai la mise à jour il est claire que si tu fait ControlDropDownList.DataBind() dans le page_load ça va pas marcher car ton évenement de mise à jour va être appeler après la page_load comme
 GillouXman  a pensé, une autre chose à savoir la méthode DataBind() est une méthode dont le fonctionnement est récursif  ça veut dire que si ta plusieurs contrôles à charger
tu peut aller à la fin de l'évenement qui fait la mise à jour et fait un Bind pour toute la page
this.DataBind() et automatiquement tous les contrôles vont être bindé.

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

comment fais tu pour ajouter une donnée ?

par la même page ? le tout est dans l'updatepanel ?
Messages postés
112
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 juin 2010
2
Je vous une description de  cette updatepanel :

Dans ce updatepanel, il y a un dropdownlist dont les éléments sont chargés dés le chargement de la page via un XmlDataSouce. Pour ajouter une donnée j'ai un Textbox et un LinkButton et c'est à partir de ces deux derniers controles que j'ajoute un élément.


Comme je suis nul en web, j'aimerai savoir comment le ddl peut être peuplé dès l'ajout d'un élément.


 


Une idée me vient à l'esprit, c'est de passer directement par le code-behind (C#). Je pense que pour le dropdownlist ça marchera mais je dois aussi appliquer cette solution à un gridview et là ça risque d'être un peu plus je pense.




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

je penserais simplement au fait que le page load était appelé avant la mise à jour de ton xml ...
Messages postés
112
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 juin 2010
2
ah bah non ça fonctionne pas pour les GridView (gridview.DataBind()).

Auriez vous une solution pour les grid view ?


Merci.
Messages postés
112
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
13 juin 2010
2
Merci pour vos explications ça m'a ouvert l'esprit. J'essayai ta solution jacksparoow et ça fontionne très bien. Je vais devoir prendre du recul pour savoir comment foncitonne ASP .NET ça me permettra de résoudre les problèmes.

Merci beaucoup !