2013-08-04 2 views
4

는 I는 다음과 HTML 도움말에 추가 HTML 속성을 제공함으로써 그룹 루프 내부 라디오 버튼 세트를 시도 -MVC 면도기 뷰에서 foreach 루프의 라디오 버튼을 그룹화 하시겠습니까?

<ol class="Opt"> 
    @foreach (var opt in quest.Options) 
    { 
     <li class="Opt"> 
      @Html.RadioButtonFor(o => opt.Title, opt.Title, new { @name = "uniqueRadio"}) 
      @Html.Label(opt.Title) 
     </li> 
    } 
</ol> 

그러나 속성 이름 OT 입력 HTML 태그 opt.Title 의해 오버 쓰여진다 생성 분명한 이유가 있습니다. MVC-4는 데이터를 게시 할 때 강력한 유형의 모델 바인딩에 name 속성을 사용합니다.

라디오 버튼을 그룹화하려면 어떻게해야합니까?

편집 : 아래 제안 된대로 RadioButtonFor를 RadioButton으로 대체했습니다. 그러나 이런 식으로 나는 모델 바인딩 기능을 놓치고있다.

<ol class="Question"> 
    @for (int j = 0; j < Model.Options.Count; j++) 
    { 
     <li class="Opt">      
      @Html.RadioButton("uniqueRadio", Model.Options[j].IsSelected, false) 
      @Model.Options[j].Title 
     </li> 
    } 
</ol> 
+0

이를 시도 http://stackoverflow.com/questions/5289489/mvc-radio-button-lists-are-not-grouped-when-using- the-htmlhelper-class? rq = 1 – ckv

+0

가능한 복제본 [HTML 클래스 (Razor 구문)을 통해 MVC 뷰에서 RadioButtonList를 만드는 방법] (http://stackoverflow.com/questions/6132474/how-can-i) -create-a-radiobutton-in-a-mvc-view-html-class-razor-syntax) –

+0

이 링크는 독자가 직접 작업하는 데 도움이 될 수 있습니다. http://dolinked.com/questions/2498099/nested -for-loops-radiobuttonfor-not-working – Pakk

답변

3

를 사용하여 간단한 RadioButton

<ol class="Opt"> 
    @foreach (var opt in quest.Options) 
    { 
     <li class="Opt"> 
      @Html.RadioButton("uniqueRadio", opt.Title) 
      @Html.Label(opt.Title) 
     </li> 
    } 
</ol 
+1

도우미의 첫 번째 매개 변수가 이름이기 때문에 @ @ Html.RadioButton ("uniqueRadio", opt.Title)'이라고 생각하십시오 – Daniele

+0

맞아요, 맞아요, 저에게 맞습니다. – sergioadh

+0

@Daniele, 간단한 라디오 버튼을 사용하여 나는 포스트 액션에서 기본 모델 바인딩 기능을 놓친다. 맞습니까? – Abhijeet

관련 문제