4

ページの同じグループに 2 つのラジオ ボタンがあります。

<asp:RadioButton ID="RadioButton1" runat="server" GroupName="Group1"/>
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="Group1"/>

コード ビハインドでは、両方のラジオ ボタンをチェックするコードを記述します。

RadioButton1.Checked = true;
RadioButton2.Checked = true;

同じグループだからだと思っていたのRadioButton1.Checkedですがfalse、2つ目をチェックすると1つ目のチェックが自動的に外れてしまいます。しかし、実際には、どちらもChecked=true.

私のアプリケーションでは、次のようなスイッチ ケースがあります。

// Some code to check the default RadioButton

switch(val){
  case 1:
    RadioButton1.Checked = true;
  case 2:
    RadioButton2.Checked = true;
}

そのため、両方のラジオ ボタンCheckedが true になる場合があります。それは奇妙なので、コードを次のように変更しました。

switch(val){
  case 1:
    RadioButton1.Checked = true;
    RadioButton2.Checked = false;
  case 2:
    RadioButton1.Checked = false;
    RadioButton2.Checked = true;
}

これは問題なく動作しますが、さらに 10 個のラジオ ボタンを追加し、=true、=false の長いリストを作成する必要がある場合はどうすればよいでしょうか .....?

何か案は?ありがとう!

4

2 に答える 2

7

声明ではなく、switchおそらく次のほうがよいでしょう。

RadioButton1.Checked = (val == 1);
RadioButton2.Checked = (val == 2);
RadioButton3.Checked = (val == 3);
// and so on ...
RadioButton10.Checked = (val == 10);

このようにして、equal toをfalse 除いてすべてが に設定されます。大量のコントロールがある場合は、それらを配列に入れて、代わりにループしたいかもしれません。RadioButtonvalRadioButton

于 2013-07-03T04:57:38.413 に答える