2010-08-11 7 views
1

라디오 버튼 그룹이 있습니다. 각 그룹의 범위는 5 - 27 개의 라디오 버튼입니다. 그룹의 라디오 버튼이 선택되어 있으면 1을 저장하고 다른 하나는 0을 저장합니다. 이제 루프를 사용하여 각 라디오 버튼을 검사하여 데이터베이스 값을 확인하고 설정했는지 확인합니다. 또한 아래 코드를 사용하려고합니다. 체크 여부를 확인하는 좋은/좋은 방법이 있습니까?그룹에서 라디오 버튼이 선택되었는지 확인하는 방법

현재 코드 :

'rname is radiobutton prefix for a given group 
'cnt is number of radiobuttons in the group 

Private Function RadioIsChecked(ByVal rname As String, ByVal cnt As Integer) As Integer 
    Dim retval As Integer = 0 
    For i = 0 To cnt - 1 
     Dim rdbName As String = rname & i 
     Dim rdb As New RadioButton() 
     rdb = CType(Me.Page.FindControl(rdbName), RadioButton) 
     If rdb.Checked Then 
      retval = 1 
     End If 
    Next 
    Return retval 
End Function 

참고 : 나는 라디오 버튼 목록을 사용할 수 없습니다. 당신이 radiobuttonlist을 사용하는 것이 가능 I는이를 사용하여 쉽게 달성 할 수있어하지만 난 라디오 버튼

답변

0

어느 쪽이든 그것은 귀하에게 달려 있습니다.
체크 된 항목을 찾은 후에 반복을 종료해야만 성능이 향상됩니다. 다음과 같이

당신은 반복을 수정할 수 있습니다

For i = 0 To cnt - 1 
    Dim rdbName As String = rname & i 
    Dim rdb As New RadioButton() 
    rdb = CType(Me.Page.FindControl(rdbName), RadioButton) 
    If rdb.Checked Then 
     retval = 1 
     Exit For 
    End If 
Next 
0

또한 값을 얻을 수 Request.Form("GroupNameGoesHere")을 사용할 수 있습니다 (현재없는 라디오 버튼이 없다면 빈 문자열).

0

위에서 설명한대로 라디오 버튼 목록을 사용하면 다음과 같이 할 수 있습니다. 무언가가 선택되었는지 테스트하기.

<asp:RadioButtonList runat="server" ID="rbList"> 
     <asp:ListItem Text="Radio 1" /> 
     <asp:ListItem Text="Radio 2" /> 
     <asp:ListItem Text="Radio 3" /> 
</asp:RadioButtonList> 


rbList.SelectedIndex > -1; 
관련 문제