2010-08-01 7 views
2

Je reçois l'erreur après le post, quand je me sers dans mon menu déroulant site mvc, le code est le suivantasp.net problème déroulant mvc

ViewData["JobSite_JobCategories1"] = new SelectList(context.JobSite_JobCategories, "Id", "Category", null); 

<%= Html.DropDownList("JobCategory", ((IEnumerable<SelectListItem>)ViewData["JobSite_JobCategories1"]))%> 
<%= Html.ValidationMessageFor(model => model.JobCategory) %> 

La validation ne fonctionne pas, et aussi après que j'attraper erreur i remplir le vidéotex [ « JobSite_JobCategories1 »] avec SelectList à nouveau, mais encore, il donne l'erreur

il n'y a aucun élément ViewData de type « IEnumerable » qui a la touche « JobCategory ».

S'il vous plaît quelqu'un peut-il me suggérer la solution à ce problème, des articles, des échantillons, des liens.

+0

s'il vous plaît nous fournir le code dans votre action et expliquer que vous postez faites référence à (chargement initial ou soumettre de la vue?) – Tahbaza

+0

http://stackoverflow.com/questions/1012924/there-is-no-viewdata-item-with-the-key-tasktypes-of-type-ienumerableselectlist – AlexanderMP

+0

et dans Général, vous pourriez trouver votre réponse quelque part ici: http://stackoverflow.com/search?q=There+is+no+ViewData+item+of+typ e – AlexanderMP

Répondre

2

Tout semble correct surtout.

Vous construisez le SelectList correctement ici:

ViewData["JobSite_JobCategories1"] = new SelectList(context.JobSite_JobCategories, "Id", "Category", null); 

Je ne sais pas pourquoi vous n'êtes pas simplement le jeter à ce qu'il est ici, un SelectList:

<%= Html.DropDownList("JobCategory", (SelectList)(ViewData["JobSite_JobCategories1"]))%> 

Quel est le motif que vous êtes ne pas utiliser DropDownListFor pour le construire? Par exemple:

<%= Html.DropDownList(m => m.JobCategory, (SelectList)(ViewData["JobSite_JobCategories1"]))%> 

Aussi j'ai posté ce une question tout à l'heure qui pourrait être d'intérêt pour vous lire:

Best way of implementing DropDownList in ASP.NET MVC 2?