【发布时间】:2020-10-15 12:59:32
【问题描述】:
我想让 RadioButtons 在 ListView 中工作。我在 ListView 中添加了一个 RadioButton 控件,并用一个 LinkButton 控件包装了它。我使用 LinkButton 是为了使用 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