2010-07-30 3 views
2

나는 그룹핑 된 4 개의 asp.net radiobutton을 말하고 있는데, 어떤 것이 체크되어 있는지 알고 싶다. 할 자연 보인다 무엇라디오 버튼 그룹에서 사례 선택이 가능합니까?

은 다음과 같습니다

Select Case RadioButton.Checked = True 
     Case myRadioButton1 
     Case myRadioButton2 
     Case myRadioButton3 
     Case Else 

End Select 

난 그냥 오류는 '비공유 멤버 참조에 대한 참조를'얻을. 그것은이 시험을하는 그런 깨끗한 방법으로 보이기 때문에 수치 스럽습니다. 가능합니까?

답변

9
Select Case True 

    Case RadioButton1.Checked 

    Case RadioButton2.Checked 

    Case RadioButton3.Checked 

    Case Else 

End Select 
+0

그래서 간단하게 내가 그것을 생각하지 않았어 믿을 수 없어 .. 잘 연주! – Markive

0

아니요. RadioButton 클래스의 Checked 속성은 공유되지 않으므로 인스턴스가 없으면 값을 가져올 수 없습니다. ElseIf 체인을 사용하여이 작업을 수행 할 수 있지만 가장 깨끗한 솔루션 인 IMO는 RadioButtonList를 대신 사용하므로 드롭 다운 목록처럼 항목을 동적으로 추가하고 선택한 항목을 한 번의 호출로 읽을 수 있습니다.

+0

라디오 버튼 배치를 세부적으로 제어해야합니다. Radiobuttonlists는 무서운 .. 그들은 에있는 라디오 버튼을 포장하고 입력이 아니라 스팬에 수업을 적용 .. – Markive

0

대신 RadioButtonList을 사용할 수 있습니다. 선택/대소 문자로만 원시 데이터 유형을 확인할 수 있습니다. 일반 RadioButton을 사용하면 모든 CheckBox가 처리 될 때 CheckedChanged 이벤트의 참조 만 확인할 수 있습니다. 예 :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     AddHandler Me.RadioButton1.CheckedChanged, AddressOf CheckedChanged 
     AddHandler Me.RadioButton2.CheckedChanged, AddressOf CheckedChanged 
    End Sub 

    Private Sub CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) 
     If sender Is Me.RadioButton1 Then 

     ElseIf sender Is Me.RadioButton2 Then 
      '........ 
     End If 
    End Sub 

하지만 어쨌든 귀하의 질문이 아닙니다. 위에서 언급 한 것처럼 RadiobuttonList를 사용하거나보다 자연 스럽기 때문에 checked 상태의 If/else를 사용하십시오.