2009-09-07 70 views
1

我面临的问题是我无法将我的外键值映射到asp.net mvc编辑视图。使用外键表填充Html.DropDownList值

我把一个Html.DropDownList并取得一个IEnumerable/IQueryable的辅助函数返回:

from item in db.items select item.name 

其中填充我Html.DropDownList所有的名称外键表,但没有任何的价值领域。

但我怎样才能使DropDownList显示名称,但让值字段是该外键表的ID字段?

回答

3

更改LINQ查询如下:

VAR列表=从项目中db.items 选择新的{item.id,item.name};

然后创建一个选择列表的如下:

VAR项目=新的SelectList(列表中, “ID”, “姓名”);

和选择列表的传递给下拉列表

Html.DropDownList( “名”,项目)

+0

威尔也为[发布]编辑功能使用ID的工作和formcollection还是我需要进一步调整以保存新的价值? – 2009-09-07 16:52:12

+0

您需要创建一个具有选定值的新选择列表: > new SelectList(list,“id”,“name”,itemthatneedstobeselected.id); 请注意,它需要我自己的“价值”本身,在这种情况下,id,而不仅仅是你的集合中的一个对象。 – Bavo 2009-09-08 07:17:38

+0

yeap,使它工作! 非常感谢您的帮助! – 2009-09-08 10:23:00