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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

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