Я пытаюсь заставить редактировать форму и действие контроллера для следующей модели:
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;}
}
Я создал представление Edit для модели Form, использовал EditorTemplate для FormElement. Это выглядит нормально, элементы формы отображаются правильно, но когда я пытаюсь отправить форму, я получаю:
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 не работает так же ... какие-нибудь идеи?
UPDATE
После нескольких попыток достичь цели - обновив свой IEnumerable из FormElement, я обнаружил эту статью http://www.codetuning.net/blog/post/Binding-Model-Graphs-with-ASPNETMVC.aspx, которая описывает, что происходит и как ее решить.