2017-05-09 1 views
0

Je suis juste en train d'essayer des choses, j'ai des articles de différents modèles et je veux les renvoyer à un (si c'est possible). J'ai ce ActionResult qui renvoie tous les produits de ma base de données:Voir la liste du contrôleur à Voir

[HttpGet] 
    public ActionResult GetAllContents() 
    { 
     ViewData["listy"] = GetColors(); 
     var i = (from p in db.tProducts 
       select p).ToList(); 
     return View(i); 
    } 

et la liste provient de cette méthode

public List<SelectListItem> GetColors() 
    { 
     var listy = new List<SelectListItem>(); 
     var colorList = from a in db.tColors 
         select new SelectListItem 
         { 
          Text = a.id.ToString(), 
          Value = a.name 
         }; 
     foreach (var item in colorList) 
      listy.Add(item); 
     return listy; 
    } 

Alors, comment puis-je afficher cette liste comme un menu déroulant sur la vue?

Répondre

1

vous pouvez utiliser comme ci-dessous

@Html.DropDownList("listy", ViewData["listy"] as List<SelectListItem>) 
1

Vous devez analyser votre objet à la liste des SelectListItem, vous pouvez utiliser les éléments suivants

@Html.DropDownListFor(m => m.Colors, ViewData["listy"] as List<SelectListItem>, "-Colors-", new { })