Problème avec une DropDownList et son evenement SelectedIndexChanged [Résolu]

chris56100
Messages postés
3
Date d'inscription
vendredi 26 octobre 2007
Dernière intervention
25 juin 2008
- 25 juin 2008 à 12:12 - Dernière réponse : ggtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 26 nov. 2008 à 11:46
Bonjour a tous,

J'ai un peu souci (de débutant je pense et j'assume ^^), je n'arrive pas a récupérer une valeur dans une liste déroulante :

Quand j'initialise et je rempli ma liste déroulante par un dataset (en cliquant sur un bouton), pas de problème la liste déroulante est bien remplie, mais il faut que je crée un bouton pour récupérer la valeur affiché !

bout de code qui marche:
protected void Button1_Click(object sender, EventArgs e)
        {
            Label5.Text = MaListe.SelectedItem.Text.ToString();
        }

Je voudrais pouvoir affiché la valuer séléctionné par l'utilisateur sans qu'il est a cliqué sur un bouton selectionné, c'est pour cela que j'utilise l'evenement "SelectedIndexChanged", mais cela ne marche pas...

bout de code qui ne marche pas :
protected void MaListe_SelectedIndexChanged(object sender, EventArgs e)

        {

            Label5.Text = MaListe.SelectedItem.Text.ToString();

        }

Someone ?
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
ggtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 25 juin 2008 à 12:43
3
Merci
Bonjour,

Tu n'as sans doute pas activé AutoPostBack sur ta liste.

GGtry

Merci ggtry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de ggtry
chris56100
Messages postés
3
Date d'inscription
vendredi 26 octobre 2007
Dernière intervention
25 juin 2008
- 25 juin 2008 à 12:52
0
Merci
wahh ! Merci pour la rapidité de la réponse et surtout de la pertinence de la réponse !! A quoi sert en 2 mot ce fameux AutoPostBack ? Est-il conseillé de l'activé sur tout mes controles ?

Merci beaucoup
Commenter la réponse de chris56100
ggtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 25 juin 2008 à 13:12
0
Merci
Rebonjour,

Le postback envoie la page au serveur et la retourne au client. Ainsi, le code lié à un événement comme selectedindexchanged n'est interprété que côté serveur, lors du postback.
Un bouton asp effectue toujours un postback : c'est pourquoi dans ton cas, le label était mis à jour après avoir cliqué sur le bouton.
Autopostback permet simplement de faire le postback sans appuyer sur un bouton, quand l'utilisateur change quelque chose au contrôle.
Il n'est utile de le mettre à 'true' pour un contrôle que si tu veux que la page soit mise à jour d'après la modification apportée par l'utilisateur, sans passer par un bouton d'envoi.
Suppose par exemple qu'il y ait trois listes déroulantes différentes sur la même page et que l'utilisateur doive choisir un élément dans chaque liste pour afficher une réponse. Si tu mets Autopostback à "true" sur les trois listes déroulantes, à chaque fois que l'utilisateur fera un choix dans une liste, la modification sera envoyée au serveur. Comme l'utilisateur, dans ce cas, n'a pas encore fait son choix dans les deux autres listes, la réponse du serveur ne tiendra compte que de la modification dans la première liste et des éléments affichés par défaut dans les deux autres.
Dans ce cas, il vaut mieux ne pas mettre autopostback à true et utiliser un bouton pour envoyer le formulaire après que l'utilisateur ait fait son choix.
Donc, pour ta question : cela dépend toujours de ce que tu veux faire.

Cordialement,

GGtry
Commenter la réponse de ggtry
chris56100
Messages postés
3
Date d'inscription
vendredi 26 octobre 2007
Dernière intervention
25 juin 2008
- 25 juin 2008 à 13:21
0
Merci
Tout est clair ! Merci beaucoup encore une fois !!! :)
Commenter la réponse de chris56100
cs_habibdu70
Messages postés
25
Date d'inscription
jeudi 24 avril 2003
Dernière intervention
26 novembre 2008
- 25 nov. 2008 à 17:15
0
Merci
OK, bonjour merci,

mais moi j'ai un autre problème que je ne comprend pas du tout,

J'ai liée à ma dropdownlist un datasource.

et lorsque que je selectionne un champ, l'event OnTextChange ou IndexChange n'est pas apeller.

c'est lorsque j'appuie sur un bouton submit, que l'event est appelé. en plus (en mode debug) la valeur du dropdownlist est vide ("").

pouvez vous m'aider ?

merci
Commenter la réponse de cs_habibdu70
ggtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 25 nov. 2008 à 18:44
0
Merci
Bonjour,

A priori, ça ressemble pourtant au même problème.
Es-tu sûr d'avoir  AutoPostBack="true" sur ta dropdownlist, par exemple :
 
 
?
Pour la valeur de la dropdownlist, elle sera vide au premier chargement, mais en principe pas après la sélection et le postback.
En tout cas, si tout marche correctement lorsque tu utilises un button, c'est probablement seulement que tu n'as mis Autopostback à true comme indiqué ci-dessus.
Sinon, si cela ne marche pas malgré cela, montre un bout de code.

(ps. en repostant sur un sujet qui date un peu, tu risques de ne pas obtenir de réponse. Quand tu ne trouves pas de réponse dans le forum, tu devrais plutôt ouvrir un nouveau post)

Cordialement,

GGtry
Commenter la réponse de ggtry
cs_habibdu70
Messages postés
25
Date d'inscription
jeudi 24 avril 2003
Dernière intervention
26 novembre 2008
- 26 nov. 2008 à 11:08
0
Merci
Wais, avec l'autopostback, je rentre bien dans l'evenement indexchanged, mais lorsque je regarde la valeur du text, j'ai toujour "".

je comprend pas.
Commenter la réponse de cs_habibdu70
cs_habibdu70
Messages postés
25
Date d'inscription
jeudi 24 avril 2003
Dernière intervention
26 novembre 2008
- 26 nov. 2008 à 11:34
0
Merci
J'ai trouvé, merci,

en fait je charger un dataset dans onLoad de la page. et avec l'autopostback, le dataset était de nouveau charger.

bref, erreur de débutant désolé. (je suis surtout window form).

c'est cool
Commenter la réponse de cs_habibdu70
ggtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 26 nov. 2008 à 11:45
0
Merci
Bonjour,

Il faudrait que tu montres comment tu fais, notamment pour remplir ta dropdownlist.
Une possibilité : fais-tu un databind pour ta dropdownlist, par exemple lors de l'Init ? Si oui, le problème pourrait venir de là.
Sinon, montre ton code.

GGtry
Commenter la réponse de ggtry
ggtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 26 nov. 2008 à 11:46
0
Merci
ps. j'ai envoyé mon précédent message après avoir lu le tien. content que ça marche.

GGtry
Commenter la réponse de ggtry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.