ASP.Net MVC сохранение нескольких записей

Я пишу приложение 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; }
}

Я передаю коллекцию записей Survey в представление, где я отображаю их в списке. Я хочу, чтобы пользователь мог отвечать на каждую запись / вопрос опроса и иметь кнопку сохранения внизу формы, чтобы выполнить одно действие POST обратно в контроллер.

Я никогда не пытался передать коллекцию объектов обратно контроллеру POST, поэтому мне интересно, насколько это хороший подход? Любые предложения приветствуются!

Заранее спасибо!

1 ответ

Решение

Я бы посоветовал не передавать коллекцию представлению, а новую ViewModel SurveySet, единственное поле которой, возможно, - IList(Survey). Затем в Controller при вызове db.SaveChanges() для surveySet и всех изменений в каждом из его опросов следует сохранить.

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult CreateComment(SurveySet surveySet)
{
db.Entry(surveySet).State = EntityState.Modified;
db.SaveChanges();
}
Другие вопросы по тегам