Problème avec une DropDownList et son evenement SelectedIndexChanged

Résolu
chris56100 Messages postés 3 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 25 juin 2008 - 25 juin 2008 à 12:12
ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre 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 ?
A voir également:

10 réponses

ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
25 juin 2008 à 12:43
Bonjour,

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

GGtry
3
chris56100 Messages postés 3 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 25 juin 2008
25 juin 2008 à 12:52
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
0
ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
25 juin 2008 à 13:12
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
0
chris56100 Messages postés 3 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 25 juin 2008
25 juin 2008 à 13:21
Tout est clair ! Merci beaucoup encore une fois !!! :)
0

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

Posez votre question
cs_habibdu70 Messages postés 25 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 26 novembre 2008
25 nov. 2008 à 17:15
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
0
ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
25 nov. 2008 à 18:44
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
0
cs_habibdu70 Messages postés 25 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 26 novembre 2008
26 nov. 2008 à 11:08
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.
0
cs_habibdu70 Messages postés 25 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 26 novembre 2008
26 nov. 2008 à 11:34
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
0
ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
26 nov. 2008 à 11:45
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
0
ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
26 nov. 2008 à 11:46
ps. j'ai envoyé mon précédent message après avoir lu le tien. content que ça marche.

GGtry
0
Rejoignez-nous