Выбрать Case на группе Radiobutton это возможно? - PullRequest
2 голосов
/ 30 июля 2010

Я сказал, что 4 asp.net радиокнопки сгруппированы, я хочу выяснить, какая из них проверена.

Что кажется естественным, так это:

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

End Select

Я просто получаюошибка «ссылка на ссылку не для общего доступа».Обидно, потому что кажется, что этот тест кажется таким чистым. Возможно ли это?

Ответы [ 3 ]

9 голосов
/ 30 июля 2010
Select Case True

  Case RadioButton1.Checked

  Case RadioButton2.Checked

  Case RadioButton3.Checked

  Case Else

End Select
0 голосов
/ 30 июля 2010

Вместо этого вы можете использовать RadioButtonList . Вы можете проверить только примитивные типы данных в select / case. С обычными RadioButton вы можете проверять ссылку в событии CheckedChanged только тогда, когда все CheckBoxes обрабатываются там. Например:

    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, как я упоминал выше, или If / else в проверенном состоянии, потому что это более естественно.

0 голосов
/ 30 июля 2010

Нет.Свойство Checked класса RadioButton не является общим, поэтому вы не можете получить его значение, если у вас нет экземпляра.Вы можете сделать это, используя цепочку ElseIf, но самое чистое решение IMO - вместо этого использовать RadioButtonList, который позволит вам динамически добавлять элементы и читать выбранный элемент за один вызов, как с DropdownList.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...