我有一个包含大量单选按钮的 ASP 表。我想快速遍历它们并将 checked 属性设置为 false:
<asp:Table runat=Server ID=tblSchedule>
<asp:TableRow>
<asp:TableCell>
<asp:RadioButton runat=Server ID=rdb1/>
</asp:TableCell>
</asp:TableRow>
</asp:table>
但以下代码永远不会返回任何结果。
foreach (RadioButton rdb in tblSchedule.Controls.OfType<RadioButton>())
{
rdb.Checked = false;
}
最佳答案
你需要遍历表格控件的层,像这样:
foreach (var tr in tblSchedule.Controls.OfType<TableRow>())
{
foreach (var td in tr.Controls.OfType<TableCell>())
{
foreach (var rdb in td.Controls.OfType<RadioButton>())
{
rdb.Checked = false;
}
}
}
或者您也可以使用 LINQ,如下所示:
foreach (var rdb in tblSchedule.Controls.OfType<TableRow>()
.SelectMany(tr => tr.Controls.OfType<TableCell>()
.SelectMany(td => td.Controls.OfType<RadioButton>())))
{
rdb.Checked = false;
}
关于c# - 在 ASP 表中查找所有单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904699/