문제:
ASP.NET MVC 5 프로젝트에서, 루프를 사용하여 여러 라디오 버튼 그룹을 만들려고 하면 하나의 그룹만 형성되고 이전에 선택한 선택이 취소됩니다. 옵션.
코드:
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> }
해결책:
1. 뷰 모델 사용:
표시하고 편집하려는 데이터를 나타내는 뷰 모델을 정의합니다. 이 경우 데이터 모델의 구조를 표현하기 위해 질문과 주제에 대한 뷰 모델을 생성해야 합니다.
2. 루프에서 라디오 버튼 생성:
루프를 만들어 라디오 버튼을 생성합니다. 각 버튼에는 질문과 주제 컨텍스트에 따라 고유한 이름 속성이 있어야 합니다. 예:
foreach (var subject in Model.Subjects) { @Html.HiddenFor(m => subject.ID) foreach (var question in subject.Questions) { @Html.HiddenFor(m => question.ID) <div> @Html.RadioButtonFor(m => subject.Questions[j].SelectedAnswer, answer.ID, new { id = answer.ID }) <label for="@answer.ID"> @answer.Text </label> </div> } }
3. 모델 속성에 바인딩:
라디오 버튼 name 속성이 모델의 속성에 올바르게 바인딩되는지 확인하세요. 각 라디오 버튼 그룹에는 선택한 답변을 보관하기 위한 별도의 속성이 있어야 합니다.
4. 컨트롤러 작업 조정:
컨트롤러 편집 작업을 수정하여 데이터베이스의 값으로 뷰 모델을 채우고 선택한 답변을 저장하여 양식 제출을 처리합니다.
뷰에서 생성된 HTML을 확인하여 라디오 버튼 name 속성이 모델에 바인딩할 수 있도록 올바르게 구성되었는지 확인하세요. 양식 제출.
위 내용은 루프를 사용하여 ASP.NET MVC 5에서 라디오 버튼을 올바르게 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!