Problème rechargement DropDownList

Résolu
The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 - 28 mai 2008 à 11:51
The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 - 28 mai 2008 à 15:42
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

The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 2
28 mai 2008 à 13:52
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.
yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014
28 mai 2008 à 14:28
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)
GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
28 mai 2008 à 12:10
comment fais tu pour ajouter une donnée ?

par la même page ? le tout est dans l'updatepanel ?
The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 2
28 mai 2008 à 13:17
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à.

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

Posez votre question
GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
28 mai 2008 à 13:55
je penserais simplement au fait que le page load était appelé avant la mise à jour de ton xml ...
The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 2
28 mai 2008 à 13:56
ah bah non ça fonctionne pas pour les GridView (gridview.DataBind()).

Auriez vous une solution pour les grid view ?


Merci.
The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 2
28 mai 2008 à 15:42
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 !
Rejoignez-nous