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 :

Comment lire la valeur d'une DropDownList à partir du controleur


Sujet :

ASP.NET MVC

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2008
    Messages : 99
    Points : 49
    Points
    49
    Par défaut Comment lire la valeur d'une DropDownList à partir du controleur
    Bonjour,

    je veux récupérer la valeur sélectionnée par l'utilisateur d'une DropdownList dans le controleur.
    J'alimente mon DropDownList à partir de ViewBag.NumCompte comme suit

    dans virementControleur.cs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public ActionResult Create()
            {
                ViewBag.NumCompte = new SelectList(db.Compte, "Id", "numCompte");
     
                return View();
            }

    dans Create.cshtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div class="editor-field">
                @Html.DropDownList("numCompte", String.Empty)
     
            </div>
    Maintenant je veux récuperer la valeur selectionnée par l'utilisateur pour que je puisse l'enregistrer dans la bd. Comment procéder?

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2011
    Messages : 31
    Points : 40
    Points
    40
    Par défaut
    bonjour,
    il faut que tu prevois une 2eme action Create avec l'annotation HttpPost. et c la que tu va faire ton traitement sur la BD.
    j espere avoir repondu a ta question.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    est ce que vous avez résolu votre problème? Pouvez vous m'aider parce que j'ai eu aussi le même problème.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut
    La première 'Create' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public ActionResult Create()
            {
                ViewBag.NumCompte = new SelectList(db.Compte, "Id", "numCompte");
     
                return View();
            }
    La deuxieme 'Create', La tu dois utiliser l'annotation HttpPost :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [HttpPost]
            public ActionResult Create(...)
            {
                if (ModelState.IsValid)
                {
                    //Traitement
                }
                //return View();
            }

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut
    Salut,

    Au lieu de déclarer en
    @Html.DropDownList( ....)

    il vaut mieux utiliser :
    @Html.DropDownListFor(x => x.Propriete, ...)

    Ainsi, ta propriété est bien mappée sur ton modèle, et au moment du post, tu obtiendras bien ta valeur

    [HttpPost]
    public ActionResult Create(MonModele model)
    {
    var ValeurDropDown = model.Propriete;
    }

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/08/2008, 15h29
  2. Réponses: 1
    Dernier message: 23/09/2006, 14h12
  3. Réponses: 2
    Dernier message: 17/05/2006, 21h35
  4. Réponses: 5
    Dernier message: 24/01/2006, 21h05

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