2009-09-07 112 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