這個問題與另一個問題有關,我最近問,它可以找到here的一些背景信息。當使用DropDownListFor()編輯視圖時ASP.Net MVC對象參考
這裏是編輯的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的在dropdownlists使用,這些都是IEnumerable和全部返回值。
GetTalkback()返回一個從對講表生成的Talkback類型的實體框架對象。
的DropDownListFor代碼:
<%: Html.DropDownListFor(model=>model.method_id,new SelectList(ViewData["MethodList"] as IEnumerable<SelectListItem>,"Value","Text",Model.method_id)) %>
我正在查看記錄在所有字段的值。當我點擊提交視圖時,我得到的對象引用未設置爲對象的實例。上述行錯誤。
在此之前的表單中有許多標準字段,所以錯誤只發生在下拉列表中,並且它正在發生在所有這些字段上。
任何想法?這是我第一次進入MVC,C#和Entity,所以我完全失去了!
這是什麼意思「當我點擊提交視圖」? – LukLed 2010-05-02 21:46:40
對不起,如果我不是很清楚。 當我調試並導航到編輯視圖時,它會顯示正確的記錄。如果我然後單擊編輯頁面上的保存,即出現錯誤時。 – hermiod 2010-05-02 22:51:37