2010-07-22 5 views
2

그래서 3 개의 라디오 버튼이 있습니다. 각 라디오 버튼 옆에 텍스트 상자를 추가해야하기 때문에 RadioButtonList에 없습니다.그룹 (GroupName)의 라디오 버튼이 모두 체크되었습니다.

GroupName을 추가했으며 프런트 엔드에서 예상대로 작동합니다. 한 번에 하나만 선택되어 나타납니다. 그들은 모두 같은 그룹에 속해 있기 때문에

RadioButton1.Checked = true; 
RadioButton2.Checked = true; 
RadioButton3.Checked = true; 

내가 마지막 하나, RadioButton3을 기대는, 검사 할 : 내가 할 경우 코드에서

. 그렇지 않다. 세 명 모두 사실로 평가됩니다. 어떻게 될 수 있습니까?

내가 명시 적으로 false로 설정해야합니다 ... 뭔가 빠졌습니까?

답변

1

내가 예상 한 바는 아니지만 이것이 올바른 동작이라고 생각합니다.

RadioButton은 독점 검사 기능을 자동으로 부여하는 확장 기능이있는 CheckBox입니다. 배경에서는 여전히 확인란입니다. MSDN에서 계층 구조를 참조하십시오

System.Object 
    System.Web.UI.Control 
     System.Web.UI.WebControls.WebControl 
      System.Web.UI.WebControls.CheckBox 
       System.Web.UI.WebControls.RadioButton 

출력은 type="radio"input에 대한 속성 checked="checked" 출력 모든 항목이 있습니다. 예 다음 Checked 속성 documenation 가입일

<input id="rad1" type="radio" name="Test" value="rad1" checked="checked" /><label for="rad1">1</label><br /> 
<input id="rad2" type="radio" name="Test" value="rad2" checked="checked" /><label for="rad2">2</label><br /> 
<input id="rad3" type="radio" name="Test" value="rad3" checked="checked" /><label for="rad3">3</label> 

:

검사 (항목의 체크 박스 상속) 가져 오거나 CheckBox 컨트롤이 체크 여부 를 나타내는 값을 설정한다.

는 그래서 Checked 특성은 같은 그룹의 다른 컨트롤에 대한보고가 단수 제어이기 때문에 의미가있는 그들을 제거하기 위해 포함없는 기능을 가진 CheckBox 버전과 같은 역할을합니다.

+0

답장을 보내 주셔서 감사합니다. 그게 왜 이런 식으로 행동하는지 설명하지만 프런트 엔드에서 백엔드의 GroupName을 존중하지 않는다는 것에 놀랐습니다 ... 아마도 내가 잘못된 속성을 사용하고 있습니다 ... "Checked"를 사용해야한다고 생각합니까 (라디오 버튼이 아닌 체크 박스처럼 동작한다고 생각하십니까? 심지어 문서에 따라)? "Selected"라는 속성을 볼 것으로 예상했지만 존재하지 않습니다 .... hmmm ..... –

+1

@Ev 예 체크 된 속성을 사용해야하지만 서버 측을 모방하는 함수를 쉽게 작성할 수 있습니다. 비헤이비어를 페이지 수준에서 실행 한 다음 모든 내용을 false로 자동 전환 한 다음 확인하려는 'RadioButton'을 설정합니다. – Kelsey

관련 문제