Il n'y a pas de ViewData élément de type 'IEnumerable<SelectListItem>" qui a la clé 'xxx'

Il y a quelques posts à ce sujet sur Stack Overflow, mais aucun avec une réponse qui semble corriger le problème dans ma situation actuelle.

J'ai une page avec un tableau en elle, chaque ligne a un certain nombre de champs de texte et un tableur. Toutes les listes déroulantes besoin d'utiliser le même SelectList de données donc j'ai configurer comme suit:

Contrôleur

ViewData["Submarkets"] = new SelectList(submarketRep.AllOrdered(), "id", "name");

Vue

<%= Html.DropDownList("submarket_0", (SelectList)ViewData["Submarkets"], "(none)") %>

J'ai utilisé exactement cette configuration dans de nombreux endroits, mais pour une raison quelconque dans ce point de vue, je reçois le message d'erreur:

Il n'y a pas de ViewData élément de type 'IEnumerable' qui a la clé 'submarket_0'.

  • Avez-vous essayé? <%= Html.DropDownList("submarket_0", ((SelectList)ViewData["Submarkets"]).Items, "(none)") %> DropDownList prend IEnumerable<SelectListItem>.
  • c'est en effet la façon dont je l'ai finalement trouvé la source de l'erreur 🙂 ainsi que des informations en provenance de certains autres postes! Merci
  • <%= Html.DropDownList("submarket_0", ViewData["Submarkets"] as IEnumerable<SelectListItem>, "(none)") %>
  • Rencontré aujourd'hui et a trouvé le deuxième argument dans mon DropDownList aide a été nulle, par la constatation ci-dessous à partir de @jonathansewell.
InformationsquelleAutor Jimbo | 2010-05-17