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 MVC Discussion :

Récupérer valeur listbox


Sujet :

ASP.NET MVC

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut Récupérer valeur listbox
    Etant débutant en MVC3, je n'arrive pas à récupérer la valeur de ma listbox

    Dans ma view role, j'ai une listbox :

    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
    <select name="roles" id="roles">
     
        @foreach (var item in Model.ListeRoles)
        {
            string role = item;
            string[] chainetemp = role.Split('|');
     
            <option value=@chainetemp[0]>@chainetemp[1]</option>   
        }
     
        @{
     
        }
    </select>
     
    <p>
        <input type="button" value="Connexion" onclick="window.location = 'Roles'" />
    </p>
    J'aimerais récupérer la valeur de la listbox sélectionné par l'utilisateur dans mon contrôleur. Faut-il que dans le modele ou est défini le List<string> je définisse un nouveau paramètre et que je fasse model.paramètre = ... ?

    Merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Normal que tu ne puisses pas accéder à l'élément sélectionné dans ton Controlleur parce qu'aucune propriété de ton Model n'est lié à la sélection courante de ta Listbox.

    Deux solutions :
    A - Soit tu passes par du javascript qui appelle une méthode de ton Controlleur pour lui passer l'élément courant
    B - Soit tu te crées une propriété dans ton Model qui sera par la suite liée à ton ListBox et par conséquent tu pourras y accéder à la valeur dans ton Controleur.

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    j'ai bien crée une propriété dans mon modèle avec get et set mais je ne sais pas comment relier au contrôle.

    Merci pour ton aide

  4. #4
    Invité
    Invité(e)
    Par défaut
    Dans ta Vue tu y insères les lignes suivantes pour attacher ta propriété (j'espère qu'elle de type List<T> vu qu'une ListBox renvoie une liste d'éléments sélectionnés) à ta ListBox comme suit :
    Code Razor : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @Html.ListBox("Roles", new MultiSelectList(Model.ListRoles, "Nom de la propriété à mettre dans Value", "Nom de la propriété à mettre dans Text", Model.NomDeLaPropriétéDevantRecuperLesElementsSelectionnes))

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Merci pour ta réponse mais ça ne marche pas.

    Voici mon code :

    vue : j'ai pris un selectlist car qu'une seule valeur à sélectionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Html.DropDownList("Roles2", new SelectList(Model.ListeRoles, Model.ListeRolesSelect));
    modèle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class RoleModel
        {
            [Display(Name = "Role")]
            public List<String> ListeRoles { get; set; }
            public List<String> ListeRolesSelect { get; set; }
        }
    controleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public ActionResult Roles(RoleModel model2)
            {
                bool test;
     
                test = ech.DefinirRole(model2.ListeRolesSelect[0]);
                return View();
            }
    dans mon contrôleur la propriété ListeRolesSelect est null

    Merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je n'ai jamais utilisé une SelectList en combinaison avec une ListBox mais bon peut-être que ça marche.

    Sinon changes public List<String> ListeRolesSelect { get; set; } par public SelectList ListeRolesSelect = new SelectList(Model.ListeRoles, Model.ListeRolesSelect);


    Dans ta vue tu mets ça @Html.DropDownList("Roles2", Model.ListeRolesSelect);


    Dans ton controlleur tu accèdes à la valeur sélectionnée en interrogeant Model.ListeRolesSelect.SelectedValueSi ça ne marche toujours pas reessaie la même chose mais avec une MultiSelectList

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    pas possible d'accéder au modele dans le contrôleur normalement non ?

    ça marche pas désolé

  8. #8
    Invité
    Invité(e)
    Par défaut
    Franchement je ne sais pas trop pourquoi ça ne marche pas chez toi mais je te conseille de suivre ce tuto très bien fait pour débuter en ASP.Net MVC 3.

  9. #9
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Merci quand même je vais regarder le tuto

Discussions similaires

  1. [XL-2011] Récupérer valeur Listbox SANS sélection
    Par Pesticide dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/05/2014, 10h45
  2. [MVVM] Récupérer valeur listbox générée par une BDD
    Par edwix dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 16/11/2012, 11h59
  3. Comment récupérer valeur ListBox dans Servlet
    Par doukha dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 17/01/2011, 11h19
  4. récupérer valeur listbox selection multiple
    Par titou624 dans le forum C#
    Réponses: 9
    Dernier message: 18/05/2010, 09h09
  5. Récupérer valeurs listbox choix multiple
    Par biquet52 dans le forum IHM
    Réponses: 3
    Dernier message: 11/09/2008, 09h07

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