顶部(条件)单选按钮始终被选中

本文关键字:单选按钮 条件 顶部 | 更新日期: 2023-09-27 18:13:46

我目前将一些值传递给我的asx .cs文件之一,它根据发送的值显示某些单选按钮。单选按钮在.ascx中实例化:

<asp:RadioButton ID="length5yr" GroupName="SubLength" runat="server" Visible ="false"
             /> 
            <asp:label runat="server" id="Label5yr" Visible="false" style="width: 300px">
            </asp:label>

             <asp:RadioButton ID="length3yr" GroupName="SubLength" runat="server"  Visible ="false"
             />
            <asp:label runat="server" id="Label3yr" Visible="false" style="width: 300px">
            </asp:label>

     <asp:RadioButton ID="length2yr" GroupName="SubLength" runat="server"  Visible ="false"
             />
            <asp:label runat="server" id="Labelyr2" Visible="false" style="width: 300px">
            </asp:label>

     <asp:RadioButton ID="length1yr" GroupName="SubLength" runat="server"  Visible ="false"
             />
            <asp:label runat="server" id="Label1yr" Visible="false" style="width: 300px">
            </asp:label>
     <asp:RadioButton ID="lengthQuarterly" GroupName="SubLength" runat="server"  Visible ="false"
             />
            <asp:label runat="server" id="labelQuarterly" Visible="false" style="width: 300px">
            </asp:label>
    <asp:RadioButton ID="lengthMonthly" GroupName="SubLength" runat="server"  Visible ="false"
             />
            <asp:label runat="server" id="labelMonthly" Visible="false" style="width: 300px">
            </asp:label>

我想要检查最后显示的第一个/顶部的单选按钮。我已经能够得到最后一个单选按钮检查(这也给了我其他问题)-但我怎么能得到顶部的检查!?

这是我如何确定显示哪个单选按钮的代码-我只显示了其中一个选项,只是为了使代码更容易阅读。

 foreach (Dictionary<string, string> d in orderOptions)
        {
            if (d["length"] == "one")
            {
                length1yr.Visible = true;
                price1yr = d["price"];
                rate1yr = d["rate"];
                issues1yr = d["issues"];
                premium1yr = d["premium"];
                Label1yr.Text = d["description"] + "<br><br>";
                Label1yr.Visible = true;
                SubLength1yr = "1 year";
            }

顶部(条件)单选按钮始终被选中

对于服务器端解决方案,最简单的方法是遍历RadioButton列表并使用一些简单的LINQ来选择第一个可见按钮。

类似:

var buttons = new []{length5yr, ...};
var firstVisibleButton = buttons.Where(b=>b.Visible).First();
firstVisibleButton.Checked = true;

上面的伪代码可能比任何东西都多,但没有完整的代码示例,这就是我所能做的。我相信你能弄清楚细节。上面的代码必须在隐藏/显示RadioButton之后执行

我可能应该指定您创建的列表(按钮) 必须遵循按钮显示的顺序才能正常工作