【问题标题】:How to find the checked radio button in a subset container?如何在子集容器中找到选中的单选按钮?
【发布时间】:2012-02-16 07:14:27
【问题描述】:

我有一个单选按钮列表,而不是单选按钮列表,我需要找出选中的是哪一个。容器是已知向导步骤中的 div。由于只有wizardstep 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 来搜索选中的单选按钮。

有什么想法吗?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 2017-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多