【问题标题】:How to make RadioButtons work in a Listview如何使 RadioButtons 在 Listview 中工作
【发布时间】:2020-10-15 12:59:32
【问题描述】:

我想让 RadioButtons 在 ListView 中工作。我在 ListView 中添加了一个 RadioButton 控件,并用一个 LinkBut​​ton 控件包装了它。我使用 LinkBut​​ton 是为了使用 ListView 的 ItemCommand 属性从代码后面更改 RadioButton 的状态。

<td>
        <asp:LinkButton ID="LinkButton6" runat="server" CommandName="Driver">
             <asp:RadioButton ID="SelectedDriver" runat="server" AutoPostBack="true" OnCheckedChanged="SelectedDriver_CheckedChanged" />
        </asp:LinkButton></td>

为了能够使所有 radioButton 互斥,我将 ListView 中的所有 radioButtons 重置为 false 然后我将调用事件的 RadioButton 设置为 true 这是后面代码中的方法:

 protected void Drivers_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            if (e.CommandName.ToString() == "Driver")
            {
                foreach (ListViewItem listItem in this.Drivers.Items)
                {
                    (listItem.FindControl("SelectedDriver") as RadioButton).Checked = false;
                }
                (e.Item.FindControl("SelectedDriver") as RadioButton).Checked = true;
            }
        }

但是它并没有按我的意愿工作。当我单击单选按钮时,它们一直被选中,它们都没有被重置。为了让它工作,我必须在 radioButton 控件旁边添加一些文本,并且我必须点击 RadioButton 上的文本才能工作。如您所见,文本部分非常烦人。 谁能帮助我知道我可以做些什么才能使其按预期工作?或者有谁知道可行的解决方案。

谢谢

【问题讨论】:

  • 你需要链接按钮做什么?您不能使用单选按钮的 GroupName 属性将它们组合在一起并使它们互斥吗?
  • 我试过了,但它不起作用。单选按钮位于 ListView 中
  • 单选按钮只是 ListView 中的一列,有几列。简单地使用 Groupname 属性是行不通的

标签: c# asp.net listview radio-button


【解决方案1】:

为了让 RadioButtons 按预期工作,我将 AutoPostBack = "true" 设置为属性 OnCheckedChanged = "SelectedDriver_CheckedChanged"

从后面的代码我做了以下,一切正常

 protected void SelectedDriver_CheckedChanged(object sender, EventArgs e)
        {
            RadioButton selectedButton = new RadioButton();
            selectedButton = (RadioButton)sender;
            foreach (ListViewItem listItem in this.Drivers.Items)
            {
                (listItem.FindControl("SelectedDriver") as RadioButton).Checked = false;
            }
            selectedButton.Checked = true;
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 2018-09-27
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多