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();
}