【发布时间】:2011-04-17 19:15:25
【问题描述】:
我正在尝试为以下模型工作编辑表单和控制器操作:
public class Form {
public int ID {get;set;}
public List<FormElement> formElements {get;set;}
}
public class FormElement {
public int ID {get;set;}
public int FormID {get;set;}
public string Question {get;set;}
public string Answer {get;set;}
}
我为 Form 模型创建了 Edit 视图,为 FormElement 使用了 EditorTemplate。看起来不错,表单元素可以正确呈现,但是当我尝试提交表单时,我得到了:
The model of type 'testApp.Models.Form' could not be updated.
Line 35: {
Line 36: var form = db.Forms.Single(f => f.ID== id);
Line 37: UpdateModel(form, collection); // <- highlighted
“创建”操作的工作方式与魅力几乎相同 - 我能够创建新对象,并将其他对象集合作为其属性。所以我不确定为什么 Edit 不能以同样的方式工作......有什么想法吗?
更新
在多次尝试实现目标后 - 更新了 FormElement 的 IEnumerable,我发现这篇文章 http://www.codetuning.net/blog/post/Binding-Model-Graphs-with-ASPNETMVC.aspx 描述了正在发生的事情以及如何解决它。
【问题讨论】:
标签: c# entity-framework asp.net-mvc-3 razor