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 :

recuperer un objet dans une listbox


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut recuperer un objet dans une listbox
    Encore un petit souci de Casting

    J'ai sensiblement modifié ta proposition pour eviter de passer par une liste (mais ca peut etre utile)

    Cependant j'ai du mal a recaster l'item dans la classe originale

    Il y a un truc ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
          for (int i = 0; i < lstbVehi.Items.Count; i++)
          {
            if (lstbVehi.Items[i].Selected)
            {
    //          ListItem OV = cmbVehi.SelectedItem;
    //          C_Vehicule C = (C_Vehicule)OV;
              lstbVehi.Items.RemoveAt(i);
              i = i - 1;
            }
          }

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut recuperer un objet dans une listbox
    Bonjour

    Pour un casting relativement simple en WinForm control j'ai quelques soucis en aspx

    Je dispose d'une liste de classes C_Vehicule
    Cette liste est bindée sur un DropDownList

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          cmbVehi.DataSource = MainSettings.lVehics;
          cmbVehi.DataTextField = "Name";
          cmbVehi.DataValueField = "Name";
          cmbVehi.DataBind();
    Je rajoute dans une listbox des elements de ma dropdownlist

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
         ListItem OV = cmbVehi.SelectedItem;
          if (lstbVehi.Items.Contains(OV))
          {
            return;
          }
          lstbVehi.Items.Add(OV);
          lstbVehi.DataTextField = "Name";
    Mais je ne parviens pas a recuperer ma classe originale depuis les Items de ma listbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
          for (int i = 0; i < lstbVehi.Items.Count; i++)
          {
            if (lstbVehi.Items[i].Selected)
            {
    //   ??       ListItem OV = cmbVehi.SelectedItem;
    //    ??      C_Vehicule C = (C_Vehicule)OV;
              lstbVehi.Items.RemoveAt(i);
              i = i - 1;
            }
          }
    J'espère que c'est possible quand meme ??
    Merci de votre aide, conseils

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par olibara Voir le message
    J'espère que c'est possible quand meme ??
    C'est rare de devoir répondre ça, mais non, c'est pas possible.

    Il faut bien comprendre que dans une appli web, les données en mémoire sont perdues entre 2 postbacks (sauf données statiques ou stockées explicitement dans l'application ou dans l'état de la page). La page HTML envoyée au client ne contient pas les données elles-mêmes, seulement leur présentation.

    Donc en fait un ListItem ne contient pas l'objet de données proprement dit, mais seulement sa "valeur" (DataValueField) et sa représentation textuelle (DataTextField). En général, on utilise comme DataValueField une propriété qui peut servir de clé pour retrouver l'objet, donc si tes véhicules ont un identifiant, c'est ça qu'il faut utiliser comme DataValueField. Quand tu récupères l'objet sélectionné, tu prends sa valeur et tu l'utilises pour récupérer le véhicule lui-même dans la source de données.

    Un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int selectedId = int.Parse(cmbVehi.SelectedItem.Value);
    C_Vehicule selectedVehicle = MainSettings.lVehics.FirstOrDefault(v => v.Id == selectedId);

    J'aime pas le développement web, la transition est douloureuse quand on vient du dev Windows

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Tomlev

    Il faut bien comprendre que dans une appli web, les données en mémoire sont perdues entre 2 postbacks (sauf données statiques ou stockées explicitement dans l'application ou dans l'état de la page). La page HTML envoyée au client ne contient pas les données elles-mêmes, seulement leur présentation.
    C'est ce que je redoutais instinctivement

    J'aime pas le développement web, la transition est douloureuse quand on vient du dev Windows
    Pfff tu parle

  5. #5
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par olibara Voir le message
    Pfff tu parle
    Allez, chougnez pas, c'est pas si dur que ca...ca pourrait etre du php, et faudrait récupérer les données à la main dans la request en plus

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Ce qui motive en web c'est donc la politique du pire !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Ce qui motive en web c'est donc la politique du pire
    Je confirme quand je repense aux devs que j'ai fait en PHP et ce que je fais en ASP, crois moi, y'a bien pire... (bon en meme temps, je n'utilisais aucun framework en PHP et là en ASP.Net j'utilise MVC2, c'est très éloigné en terme de productivité )

Discussions similaires

  1. Réponses: 18
    Dernier message: 01/06/2011, 00h04
  2. Recuperer un objet dans une JSP
    Par iviath dans le forum JSF
    Réponses: 2
    Dernier message: 05/09/2008, 14h58
  3. recuperer un objet dans une list d'apres un de ses champs
    Par zmatz dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 29/07/2007, 14h55
  4. recuperer les données access dans une listbox
    Par inforlab dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/05/2007, 22h09
  5. Réponses: 3
    Dernier message: 17/05/2006, 16h50

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