开发者

How to check if a radiobutton is checked in a group

I have group of radio buttons, each group ranges from 5 - 27 radiobuttons. And if any radio button in a group is checked I store 1 in db else I store 0. Now I'm checking each radiobutton using if loop to see if they are checked and set database value. I'm also trying to use the code below. Is there a good/better approach to check if they are checked or not?

Current code:

'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), RadioB开发者_开发百科utton)
        If rdb.Checked Then
            retval = 1
        End If
    Next
    Return retval
End Function

Note: I cannot use radio button list. I know this can be achieved easily using this but i want to get solution for radiobutton


Is it possible for you to use a radiobuttonlist

see: http://www.java2s.com/Code/ASP/Asp-Control/GetselecteditemvaluefromaspradiobuttonlistVBnet.htm


Either way, it's up to you.
You'll get the needed performance boost only if you exit the iteration after finding the checked item.

You can modify the iteration as follows:

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


You can also use Request.Form("GroupNameGoesHere") to get the value of the currently selected radio button in that group (or an empty string if none exist).


Make it a RadioButtonList instead. Then you can simply check the "SelectedItem" property of the List.

Look at http://www.startvbdotnet.com/aspsite/controls/rblist.aspx for examples.


If you use a radiobutton list as mentioned you could do something like this. To test if something was selected.

<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;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜