У меня есть несколько моделей вложенных представлений, используемых для отображения вопросника, управляемого из базы данных. Отображение вопросов прост, но я не знаю, как привязываться к модели или анализировать выбранные ответы на submit.С MVC, как я могу привязать список выбранных переключателей?
Мои объекты выглядят как (псевдо):
public class QuestionSheetViewModel(){
public list<QuestionViewModel> Questions;
public string UserName;
}
public class QuestionViewModel(){
public int QuestionId;
public string QuestionText;
public dictionary<int, string> answers;
}
На мой взгляд, я итерацию по вопросам, отображая каждый текст вопроса, а затем рендеринг каждый ответ, как радио-кнопки:
@Html.RadioButton(question.QuestionID, answer.Key());
По используя question.questionId в качестве имени переключателя они группируются вместе, ограничивая пользователя одним ответом на вопрос.
Когда я отправляю, список вопросов по модели пуст. Можно ли автоматически привязать это к моей модели представления? Если нет, что мне нужно сделать, чтобы написать что-нибудь, чтобы разобрать представленную форму, чтобы найти выбранный ответ для каждого вопроса?
Спасибо
Спасибо за обстоятельный ответ, он делает много смысла! Я реализовал такие вещи таким образом, и предоставление вопросов отлично работает, но при отправке модель полностью пуста. Он пуст не только для вопросов/ответов, но и для других полей объекта «QuestionSheet» (я просто добавил в качестве примера поле «UserName»). У вас есть идеи, почему это было бы? Бесконечно благодарен. – user2241047
И решил, добавив get/set в мою модель представления. еще раз спасибо – user2241047