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 :

[MVC3] Utilisation des dropdownfor


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    CUCARACHA
    Invité(e)
    Par défaut [MVC3] Utilisation des dropdownfor
    Salut,

    Nous avons besoin d'utiliser des dropdownlist.
    Nous avons créé le code suivant :

    Contrôleur
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
            // **************************************
            // URL: /Account/Register
            // **************************************
            //[Authorize(Roles="Admin")]
            public ActionResult Register()
            {
                return View(PrepareRegisterModel());
            }
     
            private RegisterModel PrepareRegisterModel()
            {
                RegisterModel toReturn = new RegisterModel();
                GroupPurchasePortalRepositories _context = new GroupPurchasePortalRepositories();
                using (_context)
                {
                    var genresList = _context.Genre_Rep.GetAll().OrderBy(g => g.SortIndex).ToList();
                    List<SelectListItem> availableGenres = new List<SelectListItem>();
                    foreach (var g in genresList)
                    {
                        availableGenres.Add(
                            new SelectListItem()
                            {
                                Selected = false,
                                Value = g.Id.ToString(),
                                Text = g.Name
                            }
                            );
                    }
                    availableGenres.Insert(0, new SelectListItem() { Selected = true, Value = GroupPurchasePortal.Layers.DataLayer._DataLayer_Base.ddlNotSetItemId.ToString(), Text = string.Empty });
                    ViewBag.PasswordLength = MembershipService.MinPasswordLength;
                    toReturn.Genres = availableGenres;
                }
                return toReturn;
            }
     
            [HttpPost]
            public ActionResult Register(RegisterModel model)
            {
                if (ModelState.IsValid)
                {
                    // Attempt to register the user
                    MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);
     
                    if (createStatus == MembershipCreateStatus.Success)
                    {
                        FormsService.SignIn(model.UserName, false /* createPersistentCookie */);
     
                        return RedirectToAction("Index", "Home");
                    }
                    else
                    {
                        ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus));
                    }
                }
     
                // If we got this far, something failed, redisplay form
                return View(PrepareRegisterModel());
            }
    Vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                <div class="editor-label">
                    @Html.LabelFor(m => m.Genre)
                </div>
                <div class="editor-field">
                    @Html.DropDownListFor(m => m.Genre, (IEnumerable<SelectListItem>)Model.Genres)
                    @Html.ValidationMessageFor(m => m.Genre)
                </div>
    Model
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        public class RegisterModel
        {
            //Ajouts spécifiques
            public IEnumerable<SelectListItem> Genres { get; set; }
     
            [Display(Name = "Genre")]
            public IEnumerable<SelectListItem> Genre { get; set; }
            ...    
        }
    Coté base, les genres ont un Id int et un name nvarchar(50)

    Notre code ne fonctionne pas. On a testé pas mal d'options mais sans succès. Vous n'aurriez pas un exemple de liste déroulante qui fonctionne ?

    D'avance merci

    Laurent

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut
    Bonjour,

    Vous trouverez un début de réponse ici

  3. #3
    CUCARACHA
    Invité(e)
    Par défaut
    Merci on regarde

Discussions similaires

  1. Règles d'utilisation des forums C
    Par Franck.H dans le forum C
    Réponses: 3
    Dernier message: 26/01/2008, 17h35
  2. [CR8.5] Utilisation des codes barre
    Par Robert dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/01/2005, 16h13
  3. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 18h24
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 17h44
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

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