2010-02-22 6 views
0

je commence à étudier mvc, essayez d'ajouter dropdownlist, faire de la constructiondropdownlist asp.net mvc aucun élément ViewData

<%= Html.DropDownList("ddl") %> 

mais il montre l'erreur

Il n'y a aucun élément ViewData de type « IEnumerable 'qui a la clé' ddl '

pourquoi? J'utilise un code simple, seul le paramètre de nom de passe, alors pourquoi l'erreur?

Répondre

0
"There is no ViewData item of type 'IEnumerable'" 

Cela signifie que la méthode d'aide attend un élément de type 'IEnumerable' pour exemple, List<> avec un identifiant 'ddl'

Si vous essayez d'afficher un DropDownList qui a des éléments d'une source statique, voici un façon de le faire.

  // create new IEnummerable 
      List<string> ddl = 
      new List<string>(new [] {"item1","item2" }; 

      // add Items   
      ddl.Add("Item1"); 
      ddl.Add("Item2"); 

      // return View which holds ddl now 
      ViewData["ddl "] = ddl ; 
      return View(); 

Pour plus de perspicacité un coup d'oeil à

0

Here est un exemple d'ajout d'une DropDownList dans ASP.NET-MVC. Vous devez fournir un élément de type 'IEnumerable' avec une clé 'dll' dans ViewData, comme l'indique l'erreur.

1

En fait, Html.DropDownList est un assistant HTML qui crée l'élément html select. Lorsque vous passez ddl comme argument, il s'attend à obtenir un tableau ou une liste ou quelque chose comme ça (un objet implémentant l'interface IEnumerable) pour remplir la liste déroulante. essayer comme ceci:

Contrôleur:

ViewData["ddl"]=new string[]{'Jan', 'Feb','Mar','Apr'.......'Dec'}; 

alors il va créer un élément de sélection contenant les valeurs données. Pour plus d'informations, lisez this article.