문제:
ASP에서 질문별로 라디오 버튼을 그룹화하는 경우 .NET MVC 5 보기에서는 모든 라디오 버튼이 단일 그룹에 배치되어 여러 질문에 대한 답변을 선택할 수 없습니다. 독립적으로.
해결책:
라디오 버튼을 적절하게 그룹화하려면 각 질문에 고유한 이름 속성이 있는지 확인해야 합니다. 이는 루프 인덱스와 뷰 모델을 사용하여 라디오 버튼을 입력된 모델에 바인딩함으로써 달성할 수 있습니다.
뷰 모델:
먼저, 뷰 모델을 생성합니다. 데이터를 표현하고 생성하는 데 사용됩니다. form.
public class QuestionVM { public int ID { get; set; } public string Text { get; set; } public int? SelectedAnswer { get; set; } } public class SubjectVM { public int? ID { get; set; } public string Name { get; set; } public List<QuestionVM> Questions { get; set; } } public class StudentVM { public int ID { get; set; } public string Name { get; set; } public List<SubjectVM> Subjects { get; set; } }
View:
뷰에서 @Html.BeginForm 메서드를 사용하여 양식 요소를 생성한 다음 @를 사용하여 라디오 버튼을 생성합니다. Html.RadioButtonFor 메서드.
@model YourAssembly.StudentVM @using(Html.BeginForm()) { // Hidden field for unique student identifier @Html.HiddenFor(m => m.ID) // Student name (with no binding) @Html.DisplayFor(m => m.Name) // Iterate over subjects and questions for(int i = 0; i < Model.Subjects.Count; i++) { // Hidden field for subject identifier (if any) @Html.HiddenFor(m => m.Subjects[i].ID) // Display subject name @Html.DisplayFor(m => m.Subjects[i].Name) for (int j = 0; j < Model.Subjects[i].Questions.Count; j++) { // Hidden field for question identifier @Html.HiddenFor(m => m.Subjects[i].Questions[j].ID) // Display question text (with no binding) @Html.DisplayFor(m => m.Subjects[i].Questions[j].Text) foreach(var answer in Model.Subjects[i].Questions[j].PossibleAnswers ) { // Bind radio button to property on QuestionVM @Html.RadioButtonFor(m => m.Subjects[i].Questions[j].SelectedAnswer, answer.ID, new { id = answer.ID}) <label for="@answer.ID">@answer.Text</label> } } } // Submit button <input type="submit" value="save" /> }
컨트롤러:
양식 제출을 처리하는 컨트롤러 작업에서는 StudentVM 모델을 통해 제출된 데이터에 액세스할 수 있습니다.
[HttpPost] public ActionResult Edit(StudentVM model) { // Save and redirect (not shown) }
뷰 모델과 @Html.RadioButtonFor 메소드를 사용하면 각 질문에 고유한 이름 속성이 있는지 확인할 수 있습니다. 그러면 라디오 버튼을 올바르게 그룹화할 수 있습니다.
위 내용은 ASP.NET MVC 5에서 질문별로 라디오 버튼을 올바르게 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!