首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC:使用UpdateModel更新孙子对象

MVC:使用UpdateModel更新孙子对象
EN

Stack Overflow用户
提问于 2016-07-15 23:15:39
回答 1查看 75关注 0票数 0

我有一个嵌套视图模型,我正在使用它来更新(编辑)表单。我可以使用UpdateModel更新父代和子代,但不能更新孙子代。我尝试使用"Answers“和"Questions.Answers”作为UpdateModel前缀名称,但没有更新。如有任何帮助,我们不胜感激!

代码语言:javascript
复制
   [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)
        {
        }
    }

查看模型

代码语言:javascript
复制
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; }
        }
}
EN

回答 1

Stack Overflow用户

发布于 2016-07-15 23:28:57

这在很大程度上是一种变通方法,而不是最佳实践,但是在调用UpdateModel之前,您是否尝试过在for循环中将每个项目的实体状态设置为EntityState.Modified?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38399638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档