asp.net mvc下拉问题

时间:2010-08-01 12:43:10

标签: asp.net asp.net-mvc asp.net-mvc-2 drop-down-menu

我在帖子后收到错误,当我在我的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”键。

请任何人建议我解决这个问题,任何文章,样本,链接。

1 个答案:

答案 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"]))%>

我也回忆过这个问题,你可能会对此感兴趣:

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