Итак, у меня есть две таблицы: products, единицы измерения .
Products: (id int, name varchar (20), id_um INT), где id_um - это ссылка на первичный ключ.таблицы measure_unit , а id - первичный ключ этой таблицы.
Measurement_unit: (id_um int, name varchar (20)).id_um - это первичный ключ, который я сопоставил двум, используя LINQ to SQL.
Когда я хочу создать новый продукт, мне нужно выбрать из списка единиц измерения, то есть выпадающий список с их именами, но я хочу связатьИдентификатор для выбранного ....
Я делаю это в контроллере для действия Создать (создать новый продукт):
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>'.
Я боролся с этой вещью раньше, и я успешно заставил ее работать раньше, но я случайно удалил этот проект.Пожалуйста, скажите мне, что я делаю не так?Спасибо!