小编dav*_*idd的帖子

Html.DropDownListFor绑定问题

所以我有这两个表 - 产品,measurement_unit.

产品:(id int,name varchar(20),id_um INT)其中id_um是对measurement_unit表的主键的引用,id是该表的主键.

Measurement_unit:(id_um int,name varchar(20)).id_um是我使用LINQ to SQL映射两者的主键.

当我想创建一个新产品时,我需要从单位测量列表中进行选择,这意味着一个带有名称的下拉列表,但我想绑定所选产品的ID ....

我在控制器中执行此操作以创建操作(创建新产品):

var items = new List<SelectListItem>();
            foreach (var t in db.measurement_unit)
                items.Add(new SelectListItem() { Text = t.name.ToString(), Value =t.id_um.ToString() });
ViewData["UM"] = new SelectList(items, "Value", "Text");
Run Code Online (Sandbox Code Playgroud)

现在,对于视图:

<%: Html.DropDownListFor(model=>model.id_um,  (IEnumerable <SelectListItem>)ViewData["UM"])%>
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

The ViewData item that has the key 'id_um' is of type 'System.Int32' but must be of type 'IEnumerable<SelectListItem>'.
Run Code Online (Sandbox Code Playgroud)

我之前一直在努力解决这个问题,之前我成功地完成了它,但我不小心删除了那个项目.请告诉我,我做错了什么?谢谢!

c# asp.net data-binding asp.net-mvc-2

4
推荐指数
1
解决办法
2747
查看次数

标签 统计

asp.net ×1

asp.net-mvc-2 ×1

c# ×1

data-binding ×1