绑定下拉?(bind drop down?)

2019-10-18 05:40发布

在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>

请告诉我,写的正确途径。

谢谢

里兹

Answer 1:

下面是你所要完成的正是一个很好的例子:

如何绑定的IList与MVC下拉列表框

它看起来像你必须添加一些代码隐藏代码来构建兼容列表类型。



Answer 2:

什么是在控制器动作,你用它来生成计算机[“的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"])%>


文章来源: bind drop down?