ASP.Net MVC多记录保存

ASP.Net MVC multi record save

我正在编写一个 mvc5 应用程序,其中有一个名为 Survey 的模型。

 public class Survey
{
    public int SurveyId { get; set; }

    [Required]
    public string Description { get; set; }

    [Required]
    public string Classification { get; set; }


    [Required]
    public int Score1{ get; set; }


    [Required]
    public int Score2{ get; set; }

    public string Notes { get; set; }
}

我正在将调查记录的集合传递到一个视图,在该视图中我将它们显示在列表中。我希望能够让用户回答每个调查 record/question 并在表单底部有一个保存按钮,以便将一个 POST 操作返回给控制器。

我从未尝试将对象集合传回 POST 控制器,所以我很好奇这是否是一个好方法?任何建议表示赞赏!

提前致谢!

我建议不要将集合传递给视图,而是传递一个新的 ViewModel 'SurveySet',其唯一字段可能是 IList(Survey)。然后在 Controller 中调用 surveySet 上的 db.SaveChanges() 时,应保存对其每个调查的所有更改。

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult CreateComment(SurveySet surveySet)
{
db.Entry(surveySet).State = EntityState.Modified;
db.SaveChanges();
}