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

Que j'ai à ajouter, sélectionnez la liste à la page d'inscription. Et je veux enregistrer les éléments sélectionnés dans datebase. J'ai quelque chose comme ça:

Dans la page d'affichage de:

<%: Html.DropDownListFor(m => m.Profession, (IEnumerable<SelectListItem>)ViewData["ProfessionList"])%>                   
<%: Html.ValidationMessageFor(m => m.Profession)%> 

En classe de modèle:

[Required]
[DisplayName("Profession")]
public string Profession { get; set; } 

Et dans le contrôleur:

ViewData["ProfessionList"] =
                new SelectList(new[] { "Prof1", "Prof2", "Prof3", "Prof4", "Prof5"}
                .Select(x => new { value = x, text = x }),
                "value", "text");

Et j'obtiens l'erreur: Il n'y a pas de ViewData élément de type 'IEnumerable" qui a la clé de la "Profession".

Que puis-je faire pour le faire fonctionner?

Il la jeta dans "SelectList", pourquoi êtes-vous en le jetant dans IEnumerable<SelectListItem> ?? DropDownListFor méthodes accepte selectList.
Je l'ai jeté dans "SelectList", mais j'obtiens la même erreur. Je pense qu'il s'attend à IEnumerable<SelectListItem> c'est pourquoi je l'utilise.

OriginalL'auteur Marta | 2011-03-09