在aspx页面我得到这个错误,而绑定下拉列表
无法转换类型的对象“System.Web.Mvc.SelectList”为类型“System.Collections.Generic.IList`1 [System.Web.Mvc.SelectListItem]”。
我已经写了:
<p>
<label for="categoryId">Category:</label>
<%= Html.DropDownList("categoryId", (IList<SelectListItem>)ViewData["categoryId"])%>
<%= Html.ValidationMessage("categoryId", "*")%>
</p>
请告诉我,写的正确途径。
谢谢
里兹
下面是你所要完成的正是一个很好的例子:
如何绑定的IList与MVC下拉列表框
它看起来像你必须添加一些代码隐藏代码来构建兼容列表类型。
什么是在控制器动作,你用它来生成计算机[“的categoryId”]的代码,这是我的动作代码通常做:
ArrayList categoryList=New ArrayList;
foreach (category c In YourcategoryCollection)
{ categoryList.Add(New With {.Item = c.categoryName, .value = c.categoryID})
}
Viewdata("categoryId")=New SelectList(categoryList, "Value", "Item", itemToEdit.categoryID)}
然后在你看来,你只需要:
<%= Html.DropDownList("categoryId", ViewData["categoryId"])%>