【发布时间】:2011-05-11 11:29:43
【问题描述】:
所以我有这两张表 - products, measure_unit。
Products: (id int, name varchar(20) , id_um INT ) 其中 id_um 是对 measurement_unit 表的主键的引用,id 是该表的主键。
Measurement_unit:(id_um int,名称 varchar(20))。 id_um 是主键 我使用 LINQ to SQL 映射了这两者。
当我想创建一个新产品时,我需要从一个单位测量列表中进行选择,这意味着一个带有其名称的下拉列表,但我想绑定所选产品的 id....
我在控制器中为 Create 操作执行此操作(创建新产品):
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");
现在,对于视图:
<%: Html.DropDownListFor(model=>model.id_um, (IEnumerable <SelectListItem>)ViewData["UM"])%>
但我收到以下错误:
The ViewData item that has the key 'id_um' is of type 'System.Int32' but must be of type 'IEnumerable<SelectListItem>'.
我之前在这件事上苦苦挣扎,之前我成功地让它工作了,但我不小心删除了那个项目。 请告诉我我做错了什么?谢谢!
【问题讨论】:
标签: c# asp.net asp.net-mvc-2 data-binding