Bonjour,
Je d�bute avec MVC et Razor et j'ai des soucis lorsque j'essaye de cr�er un quiz qui contient plusieurs questions, chacune pouvant permettre une seule (radio bouton) ou plusieurs (checkboxes) selections.
Voil� ma structure:
et ici ma vue:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public class QuizViewModel { public string quizTitle { get; set; } public string quizListDisplay { get; set; } public List<QuizQuestion> questions { get; set; } public Guid owner { get; set; } } public class QuizQuestion { public int questionId { get; set; } public int order { get; set; } public string questionTitle { get; set; } public List<QuizChoice> choices { get; set; } public bool isSingleResponseQuestion { get; set; } } public class QuizChoice { public int choiceId { get; set; } public string choiceTitle { get; set; } public int index { get; set; } public bool isCorrectAnswer { get; set; } public bool isChecked { get; set; } public string feedback { get; set; } public int selectedAnswer { get; set; } }
J'arrivais � r�cup�rer si un "choice" �tait s�lectionn� ou pas (isChecked) mais j'ai r�alis� que je pouvais s�lectionner plusieurs radio bouton ce que je ne veux pas; j'ai donc ajout� un Name pour regrouper les choix d'une meme question
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 ... @using (Html.BeginForm("Validate", "Quiz")) { @for (int i = 0; i < Model.questions.Count(); i++) { <ul> @{ int j = 0; } @foreach (var ch in Model.questions[i].choices) { <li> @Html.RadioButtonFor(m => m.questions[i].choices[j].isChecked, true, new { id = ch.choiceId, @Name = "group" + i}) @ch.choiceTitle @Html.HiddenFor(m => m.questions[i].choices[j].isChecked) </li> } </ul> } <input type="submit" value="Valider" /> }
"@Name = "group" + i " mais d�s que j'ajoute ce code, je ne r�cup�re plus les isChecked � vrai. Pourquoi le fait d'ajouter un Name m'emp�che de r�cup�rer les valeurs s�lectionn�es? Comment puis-je contourner le probl�me?
Merci.
Partager