J'ai un modèle de vue imbriqué et je l'utilise pour mettre à jour (modifier) le formulaire. Je suis en mesure de mettre à jour le parent et les enfants en utilisant UpdateModel mais pas en mesure de mettre à jour les grands enfants. J'ai essayé "Answers" et "Questions.Answers" pour le nom de préfixe UpdateModel mais il n'est pas mis à jour. Toute aide est appréciée!MVC: mise à jour de grands enfants à l'aide de 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)
{
}
}
Voir modèle
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; }
}
}