繁体   English   中英

如何在子容器中找到选中的单选按钮?

[英]How to find the checked radio button in a subset container?

我有一个单选按钮列表,而不是单选按钮列表,我需要找出选中的那个。 容器是已知向导步骤中的div。 由于只有向导步骤ID是已知的,如何在其下面的div中查找单选按钮? 结构是这样的:

<asp:WizardStep runat="server" ID="TypeStep" StepType="Step" Title="Business Type">
   <div id="A" runat="server">
      <asp:radiobutton .....

   </div>
   <div id="B" runat="server>
      <asp:radiobutton .....

   </div>
    ...
</asp:WizardStep>

我的代码如下:

foreach (RadioButton rb in TypeStep.Controls.OfType<RadioButton>()){
  ...
}

但是它找不到任何单选按钮,除非我将TypeStep更改为“ A” div,但是在我的代码中,哪个div是未知的。 我只能使用TypeStep来搜索选中的单选按钮。

任何想法?

因此,控件属性仅返回一级子控件。 我建议您创建一个扩展名,该扩展名将递归搜索控件。 我建议您也通过最大深度。 这将是更通用的方式。 但是,在您的示例中,您需要另一个嵌套的for循环。 代码在这里:

foreach (Control c in TypeStep.Controls)
{
    foreach (RadioButton rb in c.Controls.OfType<RadioButton>())
    { 
          ... 
    }     
}

这将向下搜索另一级。 如前所述,Controls属性一次返回一个级别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM