在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>
请告诉我正确的写作方式。
感谢
里茨
答案 0 :(得分:1)
答案 1 :(得分:1)
用于生成viewdata [“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"])%>