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 :

probleme avec DropDownList


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 80
    Par défaut probleme avec DropDownList
    bonjour, je code en ASP.NET 2.0, C# et visual studio 2005.

    Lors du chargement d'une page, je voudrais qu'une listbox prene comme valeur un champs qui est passé en parametre lors du chargement.

    voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     string NumProj = Request.QueryString["NumProj"];
            if (NumProj != null)
                ListProjet.SelectedValue =  NumProj;
    lorsque je debug (pas à pas) je remarque bien que NumProj est égale à une valeur, cependant, ListProjet.SelectedValue est toujours égale à rien (c'est a dire "").

    Comment faire pour que, au chargement, la listProjet soit déja selectioner sur un numéro de projet (qui est donc la valeur NumProj)

    merci de votre aide.

  2. #2
    Membre expérimenté Avatar de lapanne
    Inscrit en
    Juin 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 200
    Par défaut
    Salut

    Commment remplis-tu ton DDL au chargement de la page ? EN codeBehind ou via une dataSource ?

    Pour chaque élément d'un DLL, il y'a un coupe valeur/affichage. Il faut penser à initialiser les 2 au démarrage

  3. #3
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    salut,
    dans quelle méthode (événement) tu exécutes ce code? il est fort probable que au chargement de ta page c-à-d dans le page_load il réinitialise ton DDL

    regarde à utiliser la propriété IsPostBack

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 80
    Par défaut
    j'execute ce code dans la page_load (puisque je voudrais que la listporjet soit changé dés le chargement). Et je charge cette list par un sqldatasource (donc pas dans el code-behind)

  5. #5
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    essaye alors de l'éxécuter dans l'événement OnDataBound de ta DDL

  6. #6
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Bizarre que ca marche pas. J'ai fait un test normalement ça fonctionne.
    Fait voir le code complet de ton Page_Load et le ASPX de ta DDL

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 80
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    protected void Page_Load(object sender, EventArgs e)
        {
            if ((session.Num_Utilisateur == 0))
            {
                string message_erreur = " Vous ne pouvez pas acceder à cette page, vous n'etes pas loguer ou vous n'avez pas les droits";
                Response.Redirect("Error.aspx?error_text=" + message_erreur);
            }
     
            string NumProj = Request.QueryString["NumProj"];
            if (NumProj != null)
                ListProjet.SelectedValue =  NumProj;
     
            AfficheTable(false);
        }
    c'est quoi le DLL de ma page ASPX ?

  8. #8
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    c'est quoi le DLL de ma page ASPX ?
    C'est le code de ta DropDownList (avec la SQLDataSource) qui se trouve dans ton fichier.aspx

    Sinon, il y a quoi dans ta méthode AfficheTable(bool) ? C'est peut-être là qu'est ton PB

  9. #9
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    c'est dans la méthode DataBound que ça ne fonctionne pas guitoux1?

  10. #10
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Ben je sais pas, tout dépende de ce qu'il y a dans sa méthode AfficheTable(). Si dedans il modifie la source de sa DDL, alors là ca marche pas. C'est pour ça, besoin de plus de code pour voir

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 80
    Par défaut
    voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:DropDownList ID="ListProjet" runat="server" AutoPostBack="True" DataSourceID="SqlDataSourceProjet" DataTextField="L_Nom" DataValueField="N_Projet">
                                </asp:DropDownList>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      <asp:SqlDataSource ID="SqlDataSourceProjet" runat="server" ConnectionString="<%$ ConnectionStrings:Suivi_des_tempsConnectionString %>"
            SelectCommand="SELECT  -1 AS N_Projet, N'-- Choix --' AS L_Nom
     UNION
     (Select P.N_Projet, P.L_Nom From est_mene_par ep inner join Projet p on ep.N_Projet=p.N_Projet Where ep.N_Collaborateur=@NumCollabo and B_Archive=0 )ORDER BY L_Nom">
            <SelectParameters>
                <asp:SessionParameter DefaultValue="-1" Name="NumCollabo" SessionField="Num" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>
    dans affichetable, je ne modifit pas la source de la listprojet

  12. #12
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Quand tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     string NumProj = Request.QueryString["NumProj"];
            if (NumProj != null)
                ListProjet.SelectedValue =  NumProj;
    C'est pour qu'un élément soit déjà sélectionné au premier chargement de ta page ?
    Dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    protected void Page_Load(object sender, EventArgs e)
    {
       if (!Page.IsPostBack)
       {
                  string NumProj = Request.QueryString["NumProj"];
            if (NumProj != null)
                ListProjet.SelectedValue =  NumProj;
       }
    }

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 80
    Par défaut
    nan pas forcément au premier chargement de la page. Meme en postback il faut qu'un élément soit sélectioner. cela résout pas mon probleme :s

  14. #14
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    essaye çà, (j'ai ajouter la prorpiété SelectedValue à l'element)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:DropDownList ID="ListProjet" runat="server" AutoPostBack="True" DataSourceID="SqlDataSourceProjet" 
    DataTextField="L_Nom" DataValueField="N_Projet" 
    SelectedValue='<% Request.QueryString["NumProj"]%>'>
                                </asp:DropDownList>
    je n'ai pas tester mais à mon avis ça devrait aller

    ps : essaye aussi mais pas en meme temps d'executer ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    protected void ListProjet_DataBound(object sender, EventArgs e) 
    {     
             string NumProj = Request.QueryString["NumProj"]; 
             if (NumProj != null)  
                ListProjet.SelectedValue = NumProj;  
    }

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 80
    Par défaut
    il me dit que la propriété selected value ne peut pas eter défini de cette maniere

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 80
    Par défaut
    il n'y a dons pas moyen de changer le selected value d'une listbox dans la méthode pageload ?

  17. #17
    Membre expérimenté Avatar de lapanne
    Inscrit en
    Juin 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 200
    Par défaut
    Si c'est possible

    peut tu poster le code HTML de la DDL que tu obtiens lorsque tu éxécute ta page aspx ?

  18. #18
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    et est-ce que tu le code dans le DataBound a fonctionné? est-ce que tu l'as essayé?

    ça m'etonne qu'on ne puisse pas le faire pcq je l'ai déjà fais...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:DropDownList runat="server" ID="ddlCategorie" DataTextField="title" DataSourceID="dsCategory"
                 DataValueField="cat_id" SelectedValue='<%# Bind("cat_id") %>'>
         </asp:DropDownList>
    essaye p-e d'ajouter le "#"...

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 24
    Par défaut
    Bonjour,

    Pour sélectionner un élément particulier, personnelement j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    taListBox.Items.FindByValue("taValeur").Selected = true;
    //ou
    taListBox.Items.FindByText("tonText").Selected = true;
    Es ce que ça répond à ton problème ?

    Fab

  20. #20
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    nan pas forcément au premier chargement de la page. Meme en postback il faut qu'un élément soit sélectioner. cela résout pas mon probleme :s
    Ce que je ne comprends pas, c'est que le ViewState devrait automatiquement garder la sélection sur ta DDL après un PostBack.
    Mais si tu as désactivé le ViewState sur ta page, alors dans ce cas je ne vois aucune raison pour que le code suivant ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        protected void Page_Load(object sender, EventArgs e)
        {
             string NumProj = Request.QueryString["NumProj"]; 
             if (NumProj != null)  
                ListProjet.SelectedValue = NumProj;  
        }
    C'est très étrange...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. probleme avec DropDownlist
    Par mounir_hm dans le forum ASP.NET
    Réponses: 3
    Dernier message: 30/11/2007, 14h42
  2. Probleme avec DropdownList ?
    Par arioule dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/08/2007, 14h59
  3. probleme avec Dropdownlist
    Par miya dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/02/2007, 08h02
  4. [C#] Probleme avec DropDownList et SelectedIndexChange
    Par Oberown dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/02/2005, 10h35
  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