MVC: обновить детей Grand, используя UpdateModel
У меня есть модель вложенного представления, и я использую ее для обновления (редактирования) формы. Я могу обновить Parent and Children с помощью UpdateModel, но не могу обновить Grand Children. Я пробовал "Ответы" и "Вопросы. Ответы" для имени префикса UpdateModel, но оно не обновляется. Любая помощь приветствуется!
[HttpPost]
public ActionResult Edit(SurveyViewModel request)
{
try
{
var dbrecord = Survey.Get(request.SurveyID, Survey.FetchType.SurveyID);
UpdateModel(dbrecord); // Working
UpdateModel(dbrecord.SurveyQuestions, "Questions"); // Working
// Not Working
for (var i = 0; i < dbrecord.SurveyQuestions.Count; i++)
{
UpdateModel(dbrecord.SurveyQuestions[i].SurveyAnswers, "Questions[" + i + "].Answers");
}
dbrecord.Save();
return View();
}
catch (Exception ex)
{
}
}
Посмотреть модель
public class SurveyViewModel
{
public int SurveyID { get; set; }
public string Name { get; set; }
public List<QuestionsRequest> Questions { get; set; }
public class QuestionsRequest
{
public string Question { get; set; }
public List<AnswersRequest> Answers { get; set; }
public class AnswersRequest
{
public string Answer { get; set; }
}
}
1 ответ
Это скорее обходной путь и не лучшая практика, но вы пытались установить состояние объекта в EntityState.Modified для каждого элемента цикла for перед вызовом UpdateModel?