我在帖子后收到错误,当我在我的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) %>
验证无效,并且在我发现错误后,我再次使用选择列表填充viewdata [“JobSite_JobCategories1”],但仍然出现错误
没有类型为“IEnumerable”的ViewData项具有“JobCategory”键。
请任何人建议我解决这个问题,任何文章,样本,链接。
答案 0 :(得分:2)
一切看起来都很正确。
您正在此处正确构建SelectList
:
ViewData["JobSite_JobCategories1"] = new SelectList(context.JobSite_JobCategories, "Id", "Category", null);
我不确定你为什么不只是将它投射到这里,SelectList
:
<%= Html.DropDownList("JobCategory", (SelectList)(ViewData["JobSite_JobCategories1"]))%>
您是否有任何理由不使用DropDownListFor
来构建它?例如:
<%= Html.DropDownList(m => m.JobCategory, (SelectList)(ViewData["JobSite_JobCategories1"]))%>
我也回忆过这个问题,你可能会对此感兴趣: