Rozpoczynam mój pierwszy projekt ASP.NET MVC, więc mam jedno proste pytanie. Mam następujący kod:ASP.NET MVC 5 grupa przycisków radiowych
foreach(var question in Model.GeneralQuestions)
{
<div class = "well">
<h3>
<strong>@question.QuestionString</strong>
</h3>
@foreach (var answer in question.PossibleAnswers)
{
@Html.RadioButtonFor(model => question.QuestionString, answer.Answer)
@Html.Label(answer.Answer)
<br />
}
</div>
}
na wszystkie pytania w Model.GeneralQuestions są unikalne, więc przyciski radiowe powinny być podzielone na grupy według atrybutu name (dla każdego zapytania jednej grupy przycisków radiowych). Ale ten kod tworzy tylko jedną grupę, więc kiedy odpowiadam na drugie pytanie, pierwsza staje się odznaczona. Co muszę zmienić?
EDIT
Mój model wygląda następująco:
public class StudentViewModel
{
public Student Student { get; set; }
public List<Question> GeneralQuestions { get; set; }
public List<SubjectQuestions> SubjectQuestions { get; set; }
}
public class Student
{
public int StudentID { get; set; }
public string Index { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public virtual ICollection<Subject> Subjects { get; set; }
}
public class Question
{
public int QuestionID { get; set; }
public string QuestionString { get; set; }
public bool IsAssociatedWithSubject { get; set; }
public virtual ICollection<PossibleAnswer> PossibleAnswers { get; set; }
public virtual ICollection<Results> Results { get; set; }
}
public class SubjectQuestions
{
public Subject Subject { get; set; }
public List<Question> Questions { get; set; }
}
public class Results
{
public int ResultsID { get; set; }
public int QuestionID { get; set; }
public int? SubjectID { get; set; }
public int PossibleAnswerID { get; set; }
public virtual Question Question { get; set; }
public virtual PossibleAnswer PossibleAnswer { get; set; }
public virtual Subject Subject { get; set; }
}
W jednej instancji StudentViewModel zapisać jeden uczeń i wszystkie pytania, na które powinien odpowiedzieć (zarówno ogólne jak i związane z przedmiotów studiuje) i przepuścić to zobaczyć. W związku z tym stawiam wszystkie pytania w jednej formie i wszystkie one są typem radia. Czy ktoś może mi pomóc w grupowaniu przycisków radiowych i prawidłowym przesyłaniu tego formularza?
Tylko szybka odpowiedź, ale czy widziałeś ten artykuł? http://stackoverflow.com/a/22178728/1765853 – macoms01
Tak długo jak 'QuestionString' jest unikalny, powinno to być tworzenie grupy dla każdego pytania, chociaż wiązanie z' QuestionString' wydaje się być niezmienne - nie powinieneś wiązać się z czymś podobnym 'SelectedAnswer'? Czy możesz pokazać trochę html, który generuje? –
Twoja zewnętrzna pętla powinna być również pętlą 'for', tak aby twoje formanty były własnością o nazwie z indeksatorami, które mogą to wiązać po powrocie. –