How to Show/Hide Text field based on radio button values with VB in .aspx

newtoperlpgm
newtoperlpgm used Ask the Experts™
on
I am new to vb.net and have to change code to display a text field for more than one condition.
Right now, the text box only displays for one radio button list value.  I'd like it to display for two values, but there is also an N/A value.  The values are Not Safe, Safe, and N/A
The code is as follows:
Showtxtfield(strID, rblButton.Item.Item(1).Selected)
I changed it to Showtxtfield(strID, True) to display regardless of the value of the radio button, but that displays it for all three radio button values, and I only want it for two, not the third, which is N/A.  The subroutine for Showtxtfield is as follows:
 Private Sub Showtxtfield(ByVal strID As String, ByVal blnShow As Boolean)
            ' Show the text box and radio buttons
            tblCategory.FindControl("pnlQuestion1" & strID).Visible = blnShow
        End Sub
Thanks for any help.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
You set up your radiobuttonlist with yor values and then check the SelectedValue to determine how to proceed. I use a SELECT CASE to that, but you could use an If/Else if you don't have too many items.

 <asp:RadioButtonList ID="rb" runat="server" TextAlign="Right" AutoPostBack="true" >
               <asp:ListItem Text="XML File" Value="1" />
               <asp:ListItem Text="Import" Value="2" />
               <asp:ListItem Text="Report" Value="3" />
               <asp:ListItem Text="Bills" Value="4" />
               <asp:ListItem Text="Excel" Value="5" />
               </asp:RadioButtonList>

Select Case rb.SelectedValue
            Case "1L"
            'do stuff
            Case "2"
                'do stuff
            Case "3"
                'do stuff
            Case "4"
                'do stuff
            Case "5"
               'do stuff
        End Select
Carl TawnSenior Systems and Integration Developer

Commented:
You need to separate out your logic slightly. Try something like:
Dim show As Boolean = rblButton.Item.Item(1).Selected Or rblButton.Item.Item(2).Selected
Showtxtfield(strID, show)

Open in new window

Author

Commented:
Carl Tawn,
I tried your suggestion, however, I get the following error.  I am fairly new to VB.net.  Thanks.
Compiler Error Message: BC30456: 'Item' is not a member of 'System.Web.UI.WebControls.RadioButtonList'.
Senior Systems and Integration Developer
Commented:
Sorry, had an extra item in there. Try it as:
Dim show As Boolean = RBList1.Items(0).Selected Or RBList1.Items(1).Selected
Showtxtfld(strID, show)

Open in new window

Author

Commented:
That worked for me.  Thanks for your help.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial