Я читал сотни постов в блогах ASP.NET и вопросы о StackOverflow, но не могу найти решение этой (по-видимому) простой проблемы. Вот упрощенная версия:
Вопрос класса
public class Question
{
public int QuestionId { get; set; }
public string QuestionBody { get; set; }
public List<string> Answers { get; set; }
}
У меня есть простая форма для создания объекта Вопроса. Я знаю, что нет автоматического редактора для коллекций, поэтому я попробовал:
В моем виде:
<div class="editor-field">
@Html.TextBox("Answers")
@Html.TextBox("Answers")
@Html.TextBox("Answers")
</div>
В моем контроллере:
public ActionResult Create(Question question, List<string> Answers)
...
Ответы правильно передаются, но они не привязываются к моей модели!
Вопрос № 1 : Существует ли способ автоматического связывания этого списка строк со списком строк, содержащихся в моей модели Вопросов?
Затем я попытался «заставить» этот Список быть списком в моей модели, выполнив:
question.Answers = Answers;
db.Questions.Add(question);
db.SaveChanges();
Но моя коллекция всегда передается как пустая. Я думаю, что это связано с привязкой и проверкой модели ASP.NET MVC.
Итак, Вопрос # 2 : Существует ли способ «изменить» мой вопрос объект непосредственно перед его сохранением в базе данных с помощью db.SaveChanges ()?
Спасибо.