IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

DropdownList : probleme de selectedIndex et de Onchanged


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut DropdownList : probleme de selectedIndex et de Onchanged
    Bonjour,
    bon un problème qui a déja été cité mais ou je reste bloqué.

    lorsque je sélectionne un item dans ma ddl l'évènement "OnSelectedIndexChanged" ne semble pas se lever et je me retrouve dans mon PageLoad à avoir comme selectedIndex toujours le premier élément .

    ce qui fait que ce que je trouve dans le forum n'a pas pu m'aidé :
    • J'ai bien mon AutoPostBack à true mais il ne veut pas passer dans ma méthode.
    • je fais bien attention à initialiser ma ddl dans un if(!isPostBack)


    Pour le code : dans mon ascx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <asp:DropDownList ID="DropDownCarousel" runat="server" AutoPostBack="True" 
        OnSelectedIndexChanged="Selection_Change" >
    </asp:DropDownList>
    et dans mon ascx.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    //l'initialisation 
      if(!Page.IsPostBack){
                ListItem it = new ListItem("Banques", "carouselBanques.xml");
                this.DropDownCarousel.Items.Add(it);
                ListItem it1 = new ListItem("Assurances", "carouselAssurances.xml");
                this.DropDownCarousel.Items.Add(it1);
                ListItem it2 = newListItem("Administration", "carouselAdministration.xml");
                this.DropDownCarousel.Items.Add(it2);
            }
     
    //ma méthode  lors d'un changement
     protected void Selection_Change(object sender, EventArgs e)
        {
            string urlXml =  DropDownCarousel.SelectedValue ;
            System.Collections.Specialized.NameValueCollection flashVarsWBx = new System.Collections.Specialized.NameValueCollection();
            flashVarsWBx.Add("xmlfile", urlXml);
            this.FlashControl.FlashVarsCollection = flashVarsWBx;
        }
    je me doute que l'erreur est toute bête (elle l'est 98% temps pour moi)
    mais si quelqu'un voulait me sortir de ce pétrin je l'en remercie d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    comment est ajouté ton ascx?

    Parce que la le code que tu as donné fonctionne.

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Es-tu passé en mode debug pour voir si tu passais ou non dans Selection_change.
    Ca se trouve tu y passes bien mais le problème vient d'ailleurs

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut
    merci de vous intéresser à mon problème, tout d'abord j'ai bien essayé le mode Débug et il ne passe pas par la méthode onChange.

    sinon pour la partie ascx le problème vient peut être de là.
    Je pars part d'un fichier xml qui décrit ma page et dans lequel se trouve un lien vers le fichier du usercontroler, je charge donc mon usercontroler à l'aide de la méthode loadcontrol de mon objet Page.

    J'ai trouvé une solution que je dirais temporaire, je passe par le Request.Form["monDropdown"] pour récupérer la value sélectionner.
    mais si il y a plus simple je ne suis pas contre

    Ce peut il que ma page soit recréé de zéro perdant ainsi le lien entre cette donnée du request.form et la ddl ?

    Une raison probable que je viens de voir : il se peut que cela vienne du fait que j'ajoute mon control trop tard dans le cycle de vie, je vérifie et je donne la réponse (pourvu que ce soit ça )

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut
    bon j'ai trouvé le problème c'est que je recré un nouveau control à chaque appel, je dois avouer ne pas encore être trop familier avec le cycle de vie et le postBack,

    si j'ai bien compris mon problème il faut qu'a l'initialisation de la page je vérifie si c'est du posBack et si c'est le cas recrée la ddl selon les données du postBack.

    je me trompe ou pas ?

Discussions similaires

  1. dropdownlist : probleme de SelectedIndexChanged
    Par snopims dans le forum ASP.NET
    Réponses: 7
    Dernier message: 07/01/2009, 14h52
  2. probleme avec selectedIndex de dataList
    Par solawe dans le forum ASP.NET
    Réponses: 9
    Dernier message: 08/08/2007, 14h33
  3. [C#] Probleme avec DropDownList et SelectedIndexChange
    Par Oberown dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/02/2005, 10h35
  4. Réponses: 5
    Dernier message: 08/02/2005, 13h05
  5. [C#] Probleme avec DropDownList
    Par Revan012 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/02/2005, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo