4
所以,我有這兩個表 - 產品,measurement_unit。Html.DropDownListFor結合問題
產品:(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 ....
我綁定在控制器爲創建行動(創建一個新的產品)在做這樣的:
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>'.
我之前一直在努力做這件事,我成功地做到了,但是我不小心刪除了那個項目。 請告訴我我做錯了什麼?謝謝!
感謝。我現在使用視圖模型而不是ViewData,它更容易,更快速...... – davvidd 2011-06-14 13:46:41