Этот вопрос связан с другим вопросом, который я недавно задавал, его можно найти здесь для некоторой справочной информации.
Вот код в редакторе ActionResult:
public virtual ActionResult Edit(int id)
{
///Set data for DropDownLists.
ViewData["MethodList"] = tr.ListMethods();
ViewData["GenderList"] = tr.ListGenders();
ViewData["FocusAreaList"] = tr.ListFocusAreas();
ViewData["SiteList"] = tr.ListSites();
ViewData["TypeList"] = tr.ListTalkbackTypes();
ViewData["CategoryList"] = tr.ListCategories();
return View(tr.GetTalkback(id));
}
Я добавляю списки в ViewData для использования в выпадающих списках, все они IEnumerable и все они возвращают значения.
GetTalkback () возвращает объект платформы Entity типа Talkback, который генерируется из таблицы Talkback.
Код DropDownListFor:
<%: Html.DropDownListFor(model=>model.method_id,new SelectList(ViewData["MethodList"] as IEnumerable<SelectListItem>,"Value","Text",Model.method_id)) %>
Запись, которую я просматриваю, имеет значения во всех полях. Когда я нажимаю «Отправить» в представлении, я получаю ссылку на объект, не установленную на экземпляр объекта. ошибка в приведенной выше строке.
До этого в форме было несколько стандартных полей, поэтому ошибка возникает только в раскрывающихся списках и во всех них.
Есть идеи? Это мой первый набег на MVC, C # и Entity, так что я полностью потерян!