Tôi đang bắt đầu dự án ASP.NET MVC đầu tiên của mình, vì vậy tôi có một câu hỏi đơn giản. Tôi đã mã sau:ASP.NET MVC 5 nhóm các nút radio
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>
}
Tất cả các câu hỏi trong Model.GeneralQuestions là duy nhất, vì vậy nút radio nên được chia thành các nhóm theo tên thuộc tính (cho mỗi câu hỏi một nhóm các nút radio). Nhưng mã này chỉ tạo ra một nhóm, vì vậy khi tôi trả lời câu hỏi thứ hai, câu hỏi đầu tiên sẽ bị bỏ chọn. Tôi cần thay đổi điều gì?
EDIT
Mô hình của tôi trông giống như:
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; }
}
Trong một trường hợp của StudentViewModel tôi tiết kiệm một sinh viên và tất cả những câu hỏi mà anh nên trả lời (cả nói chung và liên quan đến đối tượng ông đang nghiên cứu) và vượt qua nó để xem. Theo quan điểm, tôi đặt tất cả các câu hỏi dưới dạng đơn và tất cả đều là loại radio. Vì vậy, bất cứ ai có thể giúp tôi với nhóm các nút radio và gửi lại mẫu đơn này một cách chính xác?
Chỉ là câu trả lời nhanh nhưng bạn có thấy bài viết này không? http://stackoverflow.com/a/22178728/1765853 – macoms01
Miễn là 'QuestionString' là duy nhất, điều này sẽ tạo ra một nhóm cho mỗi câu hỏi mặc dù ràng buộc với' QuestionString' có vẻ như là lạ - bạn không nên ràng buộc với một thứ gì đó như 'SelectedAnswer'? Bạn có thể hiển thị một số html này được tạo ra –
Vòng lặp ngoài của bạn cũng phải là một vòng lặp 'for' để các điều khiển của bạn là thuộc tính có tên với các bộ chỉ mục có thể ràng buộc điều này trên bài đăng trở lại. –