Я создаю приложение, которое позволяет пользователям проходить ряд вопросов и выбирать их ответ из 4 заранее определенных параметров. Проблема, с которой я столкнулся, заключается в том, как отправить данные обратно контроллеру. У меня есть объект Game
, который имеет свойство Questions
, в то время как каждый вопрос содержит Code
, Question
и Answer
, все string
тип.Как отправить данные из нескольких автоматически генерируемых полей из представления в контроллер
Я создал страницу, которая отображает каждый вопрос и ответ в выпадающем списке (как только я выясню, как разместить его как радиокнопки, я буду использовать это), но я в тупике о том, как я должен отправить результаты возвращаются к контроллеру: каждый элемент select
в сгенерированном коде HTML
имеет то же самое id
, так как я могу отличить отношение вопрос-ответ от любого другого?
Есть ли альтернативные подходы, которые были бы лучше? Я пробовал работать с PartialView
для каждого вопроса, но по возможности я хотел бы придерживаться одной страницы со списком вопросов.
код, я использую, чтобы создать свой текущий вид заключается в следующем:
@using (Html.BeginForm("Save", "Game", FormMethod.Post)) {
foreach (var question in Model.Questions) {
<div class="question">
<h4>@vraag.Vraag</h4>
@Html.DropDownListFor(x => question.Code, new SelectList(question .Answers))
@Html.HiddenFor(x => question.Code)
</div>
}
<input type="submit" value="Save" />
}
Я хочу послать все ответы обратно в мой контроллер таким образом, чтобы четко говорит мне, какой ответ предназначен для кода, какой вопрос в ,
Это имеет большой смысл, я попробую его и посмотрю, куда он меня приносит. –
Это сделало именно то, что я хотел, спасибо! Я заметил дополнительную ошибку: значение моего скрытого поля всегда остается неизменным (для двух текущих вопросов оно имеет значения 1 и 3). Почему это значение не изменяется, когда я выбираю другой ответ? –
Нет проблем! Рад, что смог помочь. Прежде чем использовать модель, вам нужно будет вызвать 'ModelState.Clear' в вашем методе HttpPost'. По умолчанию MVC будет использовать значения модели, которые вы передали в виде представления (находится в 'ModelState'). – mattytommo