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 :

Problème AutopostBack de DropDownList dans MasterPage


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Par défaut Problème AutopostBack de DropDownList dans MasterPage
    Bonjour,

    Voici la situation :

    Je travail sur projet web développé en .NET 2.0 (C#) avec une base de données AS/400.

    J'ai créé une MasterPage divisée en 3 Aspanel : un a gauche, un en haut et un au centre qui contiens un placeholder.

    Mon Panel gauche est divisé en 2 Panel. Dans le premier se trouvent des DropDownList. Elles sont remplies à partir des données AS/400 via une méthode InitDDL() appelée dans le Page_Load de la Masterpage.
    Si des données sont sélectionnées dans certaines DDL, d'autres doivent être filtrées à partir de la valeur sélectionnée.
    Exemple : si j'ai une valeur dans DDLATC alors DDLClt est filtrée.

    J'ai ensuite une page Communication.aspx qui hérite de cette MasterPage.

    j'ai activé l'autopostback sur mes DDL et rajouté une méthode ddlATC_SelectedIndexChanged pour faire mon filtrage.

    Seulement quand je sélectionne une nouvelle valeur dans ddlATC, ça plante. La page n'est pas rechargée, IE me renvois une page comme si j'avais perdu ma connexion au web.

    Je ne comprend pas d'où viens ce comportement, je n'avais encore jamais eut ça.
    Auriez vous une idée du problème ?

    Comment procéder pour filtrer mes DDL ?
    Je pensais à AJAX ou JS mais je ne me suis jamais servis d'aucun des 2 (du moins je n'en ais jamais codé mais eut à utilisé des codes déja existants).

    par avance Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Par défaut
    Après enquête plus approfondie c'est cette partie de ma méthode InitDDL() qui pose problème sur le postback :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (int i = 0; i < Client.DataSet.Tables[0].Rows.Count; i++)
    {
          ddlNom.Items.Add(new ListItem(Client.DataSet.Tables[0].Rows[i]["D0I6TX"].ToString().Trim() + " " + Client.DataSet.Tables[0].Rows[i]["D0I7TX"].ToString().Trim()));
    }
    Si je remplace par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ddlNom.DataSource = Client.DataSet;
    ddlNom.DataTextField = Client.DataSet.Tables[0].Columns[0].ToString();
    ddlNom.DataBind();
    Il n'y a plus de problème, mais j'ai besoin d'avoir mes 2 champs "D0I6TX" et "D0I7TX" concaténer, pas juste un des 2.
    Comment faire ?

  3. #3
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bonjour,

    tu peux le faire dans la requette qui récupére les données, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select D0I6TX + " " + D0I7TX  as D0I from ....
    et dans le binding :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ddlNom.DataSource = Client.DataSet;
    ddlNom.DataTextField = "D0I"; // ou l'index de la colonne virtuelle D0I
    ddlNom.DataBind();
    c'est à tester, je l'ai pas testé chez moi ;-)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Par défaut
    Pourquoi faire simple quand on peut faire compliqué. La concaténation marche en effet très via la requête, merci de m'y avoir fait penser.

    En revanche j'ai toujours mon problème sur le PostBack

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Client = DalClient.LireNom();
    ddlNom.DataSource = Client.DataSet;
    ddlNom.DataTextField = Client.DataSet.Tables[0].Columns[0].ToString();
    ddlNom.DataBind();

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Sans message d'erreur ça risque d'être difficile.

    As-tu lu cette page: http://lutecefalco.developpez.com/tu...page-asp-net/?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Par défaut
    J'aimerais beaucoup vous mettre un message d'erreur, mais je n'en ais pas et c'est bien ça qui m'embête.

    j'ai juste droit à la page suivante :



    Je vais voir ton lien. Peut être y trouverais-je une solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec DropDownList dans ASP.NET AJAX
    Par jkakim dans le forum ASP.NET Ajax
    Réponses: 0
    Dernier message: 16/09/2010, 17h35
  2. Bug sur autopostback d'un dropdownlist dans un repeater
    Par agnes huchon dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/11/2006, 11h00
  3. Problème d'ajout multiples dans un BDD Access
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2004, 13h34
  4. [C#] DropDownList dans un Table dynamiquement
    Par Mourad dans le forum ASP.NET
    Réponses: 12
    Dernier message: 30/04/2004, 15h09
  5. Problème a l'affichage dans la console (printf)
    Par PhoneKilleR dans le forum C
    Réponses: 21
    Dernier message: 23/09/2003, 17h21

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