web-dev-qa-db-ja.com

RadioButtonList OnSelectedIndexChanged

ASP.net RadioButtonList(C#コードビハインド)で選択されているインデックスの変更を処理するための最良の方法を探しています。私は3つのリストアイテムを持っています。最初の1つは、ページに非表示のasp:textboxを表示し、他の2つはテキストボックスを非表示にします。

//asp.net side
<asp:RadioButtonList ID="_indicatorAckType" runat="server" RepeatDirection="Horizontal"
                enabled="true" OnSelectedIndexChanged="onAckTypeChanged">
    <asp:ListItem Text="None" />
    <asp:ListItem Text="SHOW" />   
    <asp:ListItem Text="HIDE" />
</asp:RadioButtonList>

//code behind
protected void onAckTypeChanged(object sender, EventArgs e)
{
    if (_indicatorAckType.SelectedItem.Text == "SHOW")
        _myTextboxID.Visible = true;
    else
        _myTextboxID.Visible = false;
}

最初にonclickイベントハンドラーを使用しようとしましたが、ListItemはラジオボタンアイテムでonclickイベントを使用できないと言われました。私はここで何が間違っているのですか?これにより、エラーがスローされたり、目に見えて明らかな問題が発生したりすることはありません。 onSelectedIndexChangedにテキストボックスを表示する以外に何もしないようにしようとしましたが、それも機能しません。

どんな助けでも大歓迎です!みんな、ありがとう。

9
ImGreg

RadioButtonListで、AutoPostBack属性をtrueに設定します。

29
James Johnson

それが役立つかもしれないこれを見てください。また、ラジオボタンで有効になっている場合は自動ポストバックをオフにすることをお勧めします。クライアント側でjqueryを使用してすべて実行してください。

例:

jQueryを使用して、ラジオボタンが選択されている場合はテキストボックスを非表示にします

1
Bobby