chris56100
Messages postés3Date d'inscriptionvendredi 26 octobre 2007StatutMembreDernière intervention25 juin 2008
-
25 juin 2008 à 12:12
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 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)
chris56100
Messages postés3Date d'inscriptionvendredi 26 octobre 2007StatutMembreDernière intervention25 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 ?
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 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.
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 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)
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 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.