Пытаюсь использовать MVC и EntityFramework.
При написании тривиальной Edit страницы, столкнулся с тем, что в моём случае UpdateModel не работает так как у людей в их уроках:
http://www.asp.net/learn/mvc/tutorial-16-cs.aspx
http://nerddinnerbook.s3.amazonaws.com/Part5.htm
http://www.asp.net/learn/mvc-videos/video-8145.aspx
Я попробовал три разных метода:
[AcceptVerbs(HttpVerbs.Post)]
//public ActionResult Edit(int id, Specific_Lecado.test_lookup1_table modified) {
public ActionResult Edit(int id, FormCollection formValues) {
Specific_Lecado.test_lookup1_table loaded = _db.test_lookup1_table.Where(t => t.id == id).First();
UpdateModel(loaded); // ex: The model of type 'Specific_Lecado.test_lookup1_table' could not be updated.
//UpdateModel(loaded, new string[] { "name" }, formValues.ToValueProvider()); ex: // Value cannot be null or empty. Parameter name: name
//TryUpdateModel(loaded); // always false
if (ModelState.IsValid) {
_db.SaveChanges();
return RedirectToAction("List");
} else {
return View(loaded);
}
}
В комментариях стоят проблемы, которые я испытываю для каждого варианта вызова UpdateModel.
Работает только если я ручками присвою каждое свойство. Можно написать и процедурку, которая это будет, но мне интересно, почему не работает так, как показано в примерах.
Не подскажете, что я делаю не так?