Je ne comprends pas AUTOPOSTBACK

Résolu
marhoa Messages postés 41 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 17 octobre 2006 - 21 juil. 2005 à 11:06
marhoa Messages postés 41 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 17 octobre 2006 - 21 juil. 2005 à 13:38
Je débute dans le monde de l'asp.net ( et je suis pas un pro de l'html ) et je rencontre un souci avec l'utilisation des listes déroulantes.

J'ai donc créé une liste déroulante en WebControl mais je n'arrive pas à récupérer les données que je sélectionne etj'ai lié une fonction à l'evennement SelectedIndexChanged.
Par contre pour utiliser cette méthode j'ai quelques problèmes:
- si j'active "autopostback", au niveau de l'affichage la liste déroulante réaffiche le premier élément de la liste et au niveau de la fonction il semble que ce soit ce même élément qui soit pris en compte et non l'élément sélectionné.

Voici le code de ma fonction :
DDL_Origine est le nom de ma liste déroulante.
TB_HeureAppelAgent est le nom d'un TextBox que je veux afficher lors de la sélection d'un élément particulier.
void DDL_Origine_SelectedIndexChanged(object sender, EventArgs e)
{
string sPopulation = DDL_Origine.Items[i].Value;
if( sPopulation=="Rappel suite à message tél.")
{
TB_HeureAppelAgent.Visible=true;
}
}
Merci, d'avance!

4 réponses

nicolastar666 Messages postés 11 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 14 juin 2007
21 juil. 2005 à 12:01
ispostback te permet de voir si c'est le premier chargement de ta page ou pas.


donc si tu mets :

If Not Page.IsPostBack Then


Dim valeur
As System.Collections.ArrayList


valeur =
New System.Collections.ArrayList(2)


valeur.Add("blabla")


valeur.Add("blabla2")


ddl_origine.DataSource = valeur

(pour le reste tu peux mettre ici tout ce qui a besoin de ne se charger qu'une seule fois)
End If

les valeurs de ta liste ne se chargeront donc qu' au premier appel de ta page, et pas sur le autopostback de ta liste elle meme.
ton probleme devrait donc disparaitre grace à ça et tu pourras effectuer tes tests tranquillement dans ton selectedindexchanged.
3
nicolastar666 Messages postés 11 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 14 juin 2007
21 juil. 2005 à 11:23
salut,
je pense que tu n'as pas mis ça dans ton page load :

If
Not Page.IsPostBack
Then

taliste (et le reste)


End If

Du coup la page se recharge à chaque fois à cause de l'autopostback et du coup c'est toujours la meme valeur qui est selectionnée...

voila!

nico
0
marhoa Messages postés 41 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 17 octobre 2006
21 juil. 2005 à 11:40
c gentil de m'aider.

Par contre qu'est ce que tu mets à la place de "taliste (et le reste)".
Je ne comprends pas pourquoi utiliser IsPostBack ( bien que la ressemblance entre AutoPostBack et IsPostBack me laisse espérer qu'ils ont un lien ), de ce que j'en sais, cette propriété permet de savoir si on charge la page pour la première fois ou non. Mais bon, mais sources ne sont pas toujours de bonne qualité (mais là ça vient quand même d'un pdf de SupInfo! Si on peut plus avoir confiance en SupInfo moi je dis mais ou va le monde? )

Excusez moi je m'éloigne du sujet, aidez moi s'il vous plait
0
marhoa Messages postés 41 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 17 octobre 2006
21 juil. 2005 à 13:38
Ca marche!!!!!!
Merci de ton aide, je crois que j'ai compris le truc.
0
Rejoignez-nous