У меня есть некоторый набор вопросов, и у каждого вопроса есть 3 варианта, из которых пользователь может выбрать только один из 3. (переключатель). Я также хочу сохранить выбранный ответ.
То, что я сделал, это как показано ниже.
foreach (tblQuestion question in Model.TechQuestions)
{
<p> @question.QuestionDescription</p>
@for (int i = 0; i < Model.TechAnswers.Count(); i++)
{
if (question.QuestionID == 5)
{
<div class="col-md-3 col-sm-3 text-left">
@Html.RadioButtonFor(m => Model.selectedAnswerIDforQ5, Model.TechAnswers[i].AnswerID)
</div>
}
if (question.QuestionID == 6)
{
<div class="col-md-3 col-sm-3 text-left">
@Html.RadioButtonFor(m => Model.selectedAnswerIDforQ6, Model.TechAnswers[i].AnswerID)
</div>
}
if (question.QuestionID == 7)
{
<div class="col-md-3 col-sm-3 text-left">
@Html.RadioButtonFor(m => Model.selectedAnswerIDforQ7, Model.TechAnswers[i].AnswerID)
</div>
}
if (question.QuestionID == 8)
{
<div class="col-md-3 col-sm-3 text-left">
@Html.RadioButtonFor(m => Model.selectedAnswerIDforQ8, Model.TechAnswers[i].AnswerID)
</div>
}
}
}
Model.TechAnswers.Count () равно 3, поэтому у меня будет 3 переключателя, и идентификатор выбранных ответов (AnswerID) будет сохранен в переменных selectedAnswerIDforQ5 для QuestionID 5, selectedAnswerIDforQ6 для QuestionID 6, selectedAnswerIDforQ7 для QuestionID 7 и так далее.
Это работает нормально. Но когда мое приложение станет больше, предположим, у меня есть 200 вопросов, у меня будет 200 переменных для хранения ответов на все вопросы.
Есть ли другой способ сохранить значения каждого вопроса, кроме использования этих переменных? Как массив или словарь или что-то? Поэтому мне не нужно повторять код, как указано выше. (Например, проверка идентификатора вопроса и переключателя для каждого вопроса)
Я хочу, чтобы ответы на все вопросы в Model.TechQuestions были сохранены где-нибудь без кода. Другой способ, чем выше, или это хороший способ?