【问题标题】:RadioButtonList OnSelectedIndexChangedRadioButtonList OnSelectedIndexChanged
【发布时间】:2011-10-22 11:11:35
【问题描述】:

我正在寻找处理在 ASP.net RadioButtonList 上选择的索引更改的最佳方法(后面的 C# 代码)。我有 3 个列表项。对于第一个,我希望它在页面上显示一个隐藏的 asp:textbox,而另外两个将隐藏文本框。

//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 除了显示文本框之外什么都不做,这也不起作用。

感谢任何帮助!谢谢大家。

【问题讨论】:

    标签: c# asp.net event-handling radiobuttonlist


    【解决方案1】:

    看看这个可能会有所帮助。如果在单选按钮上启用,我建议关闭自动回发,使用 jquery 在客户端完成所有操作。

    示例:

    Using jQuery, hide a textbox if a radio button is selected

    【讨论】:

    • 我尝试在一些 javascript 中使用 jQuery 来显示/隐藏框,但 javascript 似乎没有正确处理代码。你能编辑一个样本吗?
    【解决方案2】:

    在 RadioButtonList 上,将 AutoPostBack 属性设置为 true。

    【讨论】:

    • 老兄。坚硬的!很好的问题和简洁的答案。谢谢。
    • 适用于简单的表单,但带有各种其他控件的表单,如果有的话,AutoPostBack 也会重新启动它们的渲染例程并导致其他问题。它并不总是像 AutoPostBack 那样简单!
    • 谢谢你 james .u 节省了我很多时间
    猜你喜欢
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 2014-02-20
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多